mongodb数据库操作

 1 //1.创建并进入it_like数据库
 2 use itlike
 3 db
 4 //2.向数据库的colleges集合中插入六个文档(Html5, Java, Python, 区块链, K12, <PHP, "世界上最好的编程语言">)  
 5 db.colleges.insert([
 6    { name:"Html5"},
 7    { name:"Java"},
 8    { name:"python"},
 9    { name:"区块链"},
10    { name:"K12"},
11    { name:"PHP", intro:"世界上最好的编程语言"}
12 ]);
13 //3.查询colleges集合中的文档
14 db.colleges.find();
15 //4.向数据库的colleges集合中插入一个文档(Golang) 
16 db.colleges.insert({
17     name:"Golang"
18 });   
19 //5.统计数据库colleges集合中的文档数量
20 db.colleges.find().count();
21 //6.查询数据库colleges集合中name为Html5的文档
22 db.colleges.find({name:"Html5"});
23 //7.向数据库colleges集合中的name为Html5的文档,添加一个intro属性,属性值为"打通全栈任督二脉!"
24 db.colleges.update({name:"Html5"},{$set:{intro:"打通全栈任督二脉!"}});
25 //8.使用{name:"大数据"} 替换 name 为 "K12"的文档 
26 db.colleges.replaceOne({name:"K12"},{name:"大数据"}); 
27 db.colleges.find();     
28 //9.删除name为PHP的文档的intro属性
29 db.colleges.update({name:"PHP"},{$unset:{intro:1}});
30 //10.向name为Html5的文档中,添加一个classes:{base:["h5+c3","js","jQuery", "abc"] , core:["三大框架","node.js"]}
31 db.colleges.update({name:"Html5"},{$set:{classes:{base:["h5+c3","js","jQuery", "abc"], core:["三大框架","node.js"]}}});
32 db.colleges.find();
33 //11.查询有核心课程为 三大框架 的文档
34 db.colleges.find({'classes.core':"三大框架"});
35 //12.向name为Html5的文档中,添加一个新的核心课程 "微信小程序"
36 //$push 用于向数组中添加一个新的元素
37 //$addToSet 向数组中添加一个新元素 , 如果数组中已经存在了该元素,则不会添加
38 db.colleges.update({name:"Html5"},{$push:{"hobby.core":"微信小程序"}});
39 db.colleges.update({name:"Html5"},{$addToSet:{"hobby.core":"全栈项目开发"}});
40 db.colleges.find();
41 //13. 删除基础课程为"abc"的文档
42 db.colleges.remove({"classes.base":"abc"});
43 db.colleges.find();
44 //14.删除colleges集合
45 db.colleges.remove({});
46 db.colleges.drop();
47 show dbs;
48 
49 
50 //15.向集合中中插入10000个文档 
51 // 方式一
52 for(var i=1 ; i<=10000 ; i++){
53     db.demos.insert({counter:i});
54 }
55 db.demos.find();
56 db.demos.remove({});
57 
58 // 方式二
59 var arr = [];
60 for(var i=1 ; i<=10000 ; i++){
61     arr.push({counter:i});
62 }
63 db.demos.insert(arr);
64 db.demos.find();
65 
66 //16.查询demos中counter为168的文档
67 db.demos.find({counter:168})
68 //17.查询demos中counter小于168的文档
69 db.demos.find({counter:{$lt:168}});
70 //18.查询demos中counter大于168的文档
71 db.demos.find({counter:{$gt:168}});
72 //19.查询demos中counter大于168小于1688的文档
73 db.demos.find({counter:{$gt:168 , $lt:1688}});
74 //20.查看demos集合中的前10条数据
75 db.demos.find({counter:{$lte:10}});
76 db.demos.find().limit(10);
77 //21.查看demos集合中的第11条到20条数据
78 /*
79     分页 每页显示10条
80         1-10     0
81         11-20    10
82         21-30    20
83         。。。
84         
85         skip((页码-1) * 每页显示的条数).limit(每页显示的条数);
86         
87     skip()用于跳过指定数量的数据    
88     
89     MongoDB会自动调整skip和limit的位置
90 */
91 db.demos.find().skip(10).limit(10);
92 //22.查看demos集合中的第21条到30条数据
93 db.demos.find().skip(20).limit(10);
94 db.demos.find().limit(10).skip(10);
 1 // 23. 创建company数据库, 将itlike和section集合导入到数据库中
 2 show dbs
 3 // 创建数据库
 4 use company
 5 db
 6 
 7 db.itlike.insert([
 8    {cno: "1001", cname: "HTML5学院"},
 9    {cno: "1002", cname: "Python学院"},
10    {cno: "1003", cname: "Java学院"},
11    {cno: "1004", cname: "Go学院"}
12 ]);
13 
14 
15 db.section.insert([
16   {name: "胡雪", job: "辅导员", wages: 10000.0, cno: "1001", bonus: 1688},
17   {name: "赵乐乐", job: "讲师", wages: 20000.0, cno: "1001", bonus: 2600},
18   {name: "冯璐璐", job: "辅导员", wages: 12000.0, cno: "1001"},
19   {name: "赵晓雪", job: "辅导员", wages: 12000.0, cno: "1002", bonus: 1688},
20   {name: "孙芙蓉", job: "讲师", wages: 13000.0, cno: "1002", bonus: 1288},
21   {name: "胡霍恋", job: "辅导员", wages: 11000.0, cno: "1003", bonus: 2688},
22   {name: "张思琪", job: "班主任", wages: 9000.0, cno: "1003"},
23   {name: "王红叶", job: "辅导员", wages: 8000.0, cno: "1002", bonus: 1675},
24   {name: "叶子奇", job: "高级讲师", wages: 30000.0, cno: "1001", bonus: 2345},
25   {name: "高伟伟", job: "辅导员", wages: 17000.0, cno: "1002", bonus: 1345}
26 ]);
27 
28 db.section.find();
29 db.itlike.find();
30 
31 //24.查询HTML5学院的所有老师
32 var cno = db.itlike.findOne({cname:"HTML5学院"}).cno;
33 db.section.find({cno:cno});
34 //25.查询工资大于20000的老师
35 db.section.find({wages:{$gt:20000}});
36 //27.查询工资在10000-20000之间的员工
37 db.section.find({wages:{$lt:20000 , $gt:10000}});
38 //28.查询工资小于10000或大于25000的员工
39 db.section.find({$or:[{wages:{$lt:10000}} , {wages:{$gt:25000}}]});
40 //29.为所有薪资低于10000的员工增加工资1000元
41 db.section.updateMany({wages:{$lte:10000}} , {$inc:{wages:1000}});
42 db.section.find();

 

posted @ 2019-07-07 18:16  疏影横斜水清浅  阅读(298)  评论(0编辑  收藏  举报