zoukankan      html  css  js  c++  java
  • 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();
  • 相关阅读:
    Gallery平滑移动
    HDU 4308 BFS Saving Princess claire_
    css 浏览器兼容性问题解决
    CCPlace,CCFlip*,CCToggleVisibility,CCMoveTo*,CCJumpTo*,CCScale*,CCRotate*,CCSkew*,fade,CCCardinalSp*
    存储过程和输出分辨率表菜单JSON格式字符串
    Vertica变化Local时间到GMT时间
    【codeforces】Codeforces Round #277 (Div. 2) 解读
    Android 百度地图 SDK v3.0.0 (四) 离线地图功能介绍
    计算质数-埃里克森筛法(间隔黄金武器)
    IP地址分类
  • 原文地址:https://www.cnblogs.com/zhangzhengyang/p/11147104.html
Copyright © 2011-2022 走看看