MongoDB 增.删.改.查

  • 1. 进入my_test数据库

use my_test;
show dbs; 
显示当前数据库中的集合
show collections;
  • 2. 插入 / 添加 操作

1.插入两个值
db.users.insert({
    username:"sunwukong"
});

db.users.insert({
    username:"zhubajie"
});


2.向名为sunwukong 的文档,添加一个address属性
db.users.update(
  {"username":"sunwukong"},
  {$set:{
     address:"huaguoshan"
  }}
)

3.向sunwukong中添加一个hobby:{cities,movies}
   向tangsanzang中添加一个hobby:{movies}

 db.users.update(
  {"username":"sunwukong"}, 
  {$set:{
     hobby:{cities:["beijing","shanghai","shenzhen"] , movies:["movie1","movie2"]}
  }}
 )
 db.users.update(
  {"username":"tangsanzang"}, 
  {$set:{
     hobby:{movies:["movie1","movie2"]}
  }}
 )

4.向数组中添加一个小元素$push
db.users.update(
  {"username":"tangsanzang"}, 
  {$push:{
     "hobby.movies":"SuperMan"
  }}
 )
  • 3. 改变某个值

使用set可以达到替换和增加的作用unset可以删除元素

1.使用tangsanzang替换zhubajie
db.users.update(
  {"username":"zhubajie"}, 
  {$set:{
     username:"tangsanzang"
  }}
 )
  • 4. 删除操作

删除地址,可以随便填一个值

db.users.update(
  {username:"sunwukong"},
  {$unset:{
    address:1}}
 )
  • 5. 查询操作

1.查询user集合中的所有文档
db.users.find();

2.统计数据库user集合中的文档数量
db.users.find().count()

3.查询username为sunwukong的文档
db.users.find({username:"sunwukong"})

4.查找内嵌文档的属性
如果需要查询内嵌文档则可以通过.形式进行匹配,
此时属性名必须使用引号
db.users.find({"hobby.movies" : "movie1"});

image.png
  • 6. 其他操作

1.向某个集合中添加 100条数据
运用数组直接插入的方法,可以极大降低运行时间,一般可以降到1秒以内

var arr = [];
 for(var i=1000 ; i<=1100 ; i++){
   arr.push({num:i})
 }
 db.number.insert(arr);
DBQuery.shellBatchSize= 100;
 db.number.find()

2.查找特定区间的文档

  • 查询number中num为1060的文档
db.number.find({num:1060});
  • 查询大于1060 的文档
db.number.find({num:{$gt:1060}});
  • 查询小于1050的文档
db.number.find({num:{$lt:1050}});
  • 大于1050,小于1060
db.number.find({num:{$gt:1050 , $lt:1060}});

显示前十个数据,这里引入limit 和 skip
显示第10-20;使用分页 每页显示10条

公式

skip(( 页码-1 )* 每页显示的条数).limit (每页显示的条数));

10-20,从第10个数起步,往后排10个

db.number.find().skip(10).limit(10);

20-30,从第20个数起步,往后排15个

db.number.find().skip(20).limit(15);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。