mongodb的学习记录

node.js中的mongodb的学习记录:

//1.创建并进入it_like数据库
use itlike
db

//2.向数据库的colleges集合中插入六个文档(Html5, Java, Python, 区块链, K12, <PHP, "世界上最好的编程语言">)  
db.colleges.insert([
   { name:"Html5"},
   { name:"Java"},
   { name:"python"},
   { name:"区块链"},
   { name:"K12"},
   { name:"PHP", intro:"世界上最好的编程语言"}
]);

//3.查询colleges集合中的文档
db.colleges.find();

//4.向数据库的colleges集合中插入一个文档(Golang) 
db.colleges.insert({
    name:"Golang"
});   

//5.统计数据库colleges集合中的文档数量
db.colleges.find().count();

//6.查询数据库colleges集合中name为Html5的文档
db.colleges.find({name:"Html5"});

//7.向数据库colleges集合中的name为Html5的文档,添加一个intro属性,属性值为"打通全栈任督二脉!"
db.colleges.update({name:"Html5"},{$set:{intro:"打通全栈任督二脉!"}});

//8.使用{name:"大数据"} 替换 name 为 "K12"的文档 
db.colleges.replaceOne({name:"K12"},{name:"大数据"});
        
//9.删除name为PHP的文档的intro属性
db.colleges.update({name:"PHP"},{$unset:{intro:1}});

//10.向name为Html5的文档中,添加一个classes:{base:["h5+c3","js","jQuery", "abc"] , core:["三大框架","node.js"]}
db.colleges.update({name:"Html5"},{$set:{classes:{base:["h5+c3","js","jQuery", "abc"], core:["三大框架","node.js"]}}});
db.colleges.find();

//11.查询有核心课程为 三大框架 的文档
db.colleges.find({'classes.core':"三大框架"});

//12.向name为Html5的文档中,添加一个新的核心课程 "微信小程序"
//$push 用于向数组中添加一个新的元素
//$addToSet 向数组中添加一个新元素 , 如果数组中已经存在了该元素,则不会添加
db.colleges.update({name:"Html5"},{$push:{"hobby.core":"微信小程序"}});
db.colleges.update({name:"Html5"},{$addToSet:{"hobby.core":"全栈项目开发"}});
db.colleges.find();

//13. 删除基础课程为"abc"的文档
db.colleges.remove({"classes.base":"abc"});

//14.删除colleges集合
db.colleges.remove({});
db.colleges.drop();
show dbs;

//15.向集合中中插入10000个文档 
// 方式一
for(var i=1 ; i<=10000 ; i++){
    db.demos.insert({counter:i});
}
db.demos.find()
db.demos.remove({});

// 方式二
var arr = [];
for(var i=1 ; i<=10000 ; i++){
    arr.push({counter:i});
}
db.demos.insert(arr);
db.demos.find()
//16.查询demos中counter为168的文档
db.demos.find({counter:168})

//17.查询demos中counter小于168的文档
db.demos.find({counter:{$lt:168}});

//18.查询demos中counter大于168的文档
db.demos.find({counter:{$gt:168}});

//19.查询demos中counter大于168小于1688的文档
db.demos.find({counter:{$gt:168 , $lt:1688}});

//20.查看demos集合中的前10条数据
db.demos.find({counter:{$lte:10}});
db.demos.find().limit(10);

//21.查看demos集合中的第11条到20条数据
/*
    分页 每页显示10条
        1-10     0
        11-20    10
        21-30    20
        。。。
        
        skip((页码-1) * 每页显示的条数).limit(每页显示的条数);
        
    skip()用于跳过指定数量的数据    
    
    MongoDB会自动调整skip和limit的位置
*/
db.demos.find().skip(10).limit(10);

//22.查看demos集合中的第21条到30条数据
db.demos.find().skip(20).limit(10);

db.demos.find().limit(10).skip(10);
//1.创建并进入it_like数据库
use it_like

//2.向数据库的colleges集合中插入六个文档(Html5, Java, Python, 区块链, K12, <PHP, "世界上最好的编程语言">)  
db.colleges.insert(
   { name:"html5"},
   { name:"java"},
   { name:"python"},
   { name:"区块链"},
   { name:"K12"},
   { name:"PHP", intro:"世界上最好的编程语言"}
);

//3.查询colleges集合中的文档
db.colleges.find();

//4.向数据库的colleges集合中插入一个文档(Golang)   
db.colleges.insert({
    name:"Golang"
});
   
//5.统计数据库colleges集合中的文档数量
db.colleges.find().count();

//6.查询数据库colleges集合中name为Html5的文档
db.colleges.find({name:"Html5"});

//7.向数据库colleges集合中的name为Html5的文档,添加一个intro属性,属性值为"打通全栈任督二脉!"
db.colleges.update({name:"Html5"},{$intro:{address:"打通全栈任督二脉!"}});

//8.使用{name:"大数据"} 替换 name 为 "K12"的文档
db.colleges.replaceOne({name:"K12"},{username:"大数据"});    
    
//9.删除name为PHP的文档的intro属性
db.colleges.update({name:"PHP"},{$unset:{intro:"世界上最好的编程语言"}});


//10.向name为Html5的文档中,添加一个classes:{base:["h5+c3","js","jQuery", "abc"] , core:["三大框架","node.js"]}
//MongoDB的文档的属性值也可以是一个文档,当一个文档的属性值是一个文档时,我们称这个文档叫做 内嵌文档
db.colleges.update({name:"Html5"},{$set:classes:{base:["h5+c3","js","jQuery", "abc"], core:["三大框架","node.js"]}}});
db.colleges.find();

//11.查询有核心课程为 三大框架 的文档
//MongoDB支持直接通过内嵌文档的属性进行查询,如果要查询内嵌文档则可以通过.的形式来匹配
//如果要通过内嵌文档来对文档进行查询,此时属性名必须使用引号 
db.colleges.find({'classes.core':"三大框架"});

//14.向name为Html5的文档中,添加一个新的核心课程 "微信小程序"
//$push 用于向数组中添加一个新的元素
//$addToSet 向数组中添加一个新元素 , 如果数组中已经存在了该元素,则不会添加
db.colleges.update({name:"Html5"},{$push:{"hobby.core":"微信小程序"}});
db.colleges.update({name:"Html5"},{$addToSet:{"hobby.core":"微信小程序"}});
db.colleges.find();

//15.向name为Html5的文档中,删除基础课程"abc"
db.colleges.remove({"classes.base":"abc"});

//16.删除user集合
db.colleges.remove({});
db.colleges.drop();

show dbs;

//17.向集合中中插入10000个文档 7.2s
for(var i=1 ; i<=10000 ; i++){
    db.demos.insert({num:i});
}

db.demos.find()

db.demos.remove({});


//0.4s
var arr = [];

for(var i=1 ; i<=10000 ; i++){
    arr.push({num:i});
}

db.demos.insert(arr);



 

// 23. 创建company数据库, 将itlike和section集合导入到数据库中
show dbs
// 创建数据库
use company
db

db.itlike.insert([
   {cno: "1001", cname: "HTML5学院"},
   {cno: "1002", cname: "Python学院"},
   {cno: "1003", cname: "Java学院"},
   {cno: "1004", cname: "Go学院"}
]);


db.section.insert([
  {name: "胡雪", job: "辅导员", wages: 10000.0, cno: "1001", bonus: 1688},
  {name: "赵乐乐", job: "讲师", wages: 20000.0, cno: "1001", bonus: 2600},
  {name: "冯璐璐", job: "辅导员", wages: 12000.0, cno: "1001"},
  {name: "赵晓雪", job: "辅导员", wages: 12000.0, cno: "1002", bonus: 1688},
  {name: "孙芙蓉", job: "讲师", wages: 13000.0, cno: "1002", bonus: 1288},
  {name: "胡霍恋", job: "辅导员", wages: 11000.0, cno: "1003", bonus: 2688},
  {name: "张思琪", job: "班主任", wages: 9000.0, cno: "1003"},
  {name: "王红叶", job: "辅导员", wages: 8000.0, cno: "1002", bonus: 1675},
  {name: "叶子奇", job: "高级讲师", wages: 30000.0, cno: "1001", bonus: 2345},
  {name: "高伟伟", job: "辅导员", wages: 17000.0, cno: "1002", bonus: 1345}
]);

db.section.find();
db.itlike.find();

//24.查询HTML5学院的所有老师
var cno = db.itlike.findOne({cname:"HTML5学院"}).cno;
db.section.find({cno:cno});

//25.查询工资大于20000的老师
db.section.find({wages:{$gt:20000}});

//27.查询工资在10000-20000之间的员工
db.section.find({wages:{$lt:20000 , $gt:10000}});

//28.查询工资小于10000或大于25000的员工
db.section.find({$or:[{wages:{$lt:10000}} , {wages:{$gt:25000}}]});

//29.为所有薪资低于10000的员工增加工资1000元
db.section.updateMany({wages:{$lte:10000}} , {$inc:{wages:1000}});
db.section.find();

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值