mongoDB入门基础汇总大全二(增删改查命令及场景大全),戳进去便知

/* Collection集合操作 */

(1)创建一个集合

db.createCollection("collName", {size: 20, capped: true, max: 100});

db.collName.isCapped();   //判断集合是否为定容量

(2)得到指定名称的集合

db.getCollection("account");

(3)得到当前db的所有集合

db.getCollectionNames();

(4)显示当前db所有集合的状态:db.printCollectionStats();

db.getCollectionNames();

 

/* 集合数据的添加、修改、删除、查询 */

(1)添加

db.users.save({name: "zhangsan", age: 25, flag: true})
db.study.insert({name:"laoli",age:12})  //在当前数据库中的study集合中插入一个文档

(2)修改

//将age = 25的文档记录的name改为changeName
db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true)   
//第1个true/false可选,表示如果不存在update的记录,是否插入objNew:true为插入,默认是false不插入。
//第2个true/false可选,默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新

//姓名为贺九的年龄修改为1000,默认只改一条
db.store.update({name:"贺九"},{$set:{age:1000}})  

//将性别为女的年龄修改为16,加{multi:true}可修改多条
db.store.update({sex:"女"},{$set:{age:16}},{multi:true}) 

db.store.update({name:"王新元"},{age:81})  //不加$set是完整替换

db.store.update({name:"马萌萌"},{$inc:{age:-1}})  //将姓名为马萌萌的年龄减1

//name = 'Lisi'的文档年龄增加50
db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true)

// name = 'Lisi'的文档年龄增加50,name 改为 'hoho'
db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true)

(3)删除

//删除所有年龄为32的文档项
db.users.remove({age:32})  

//删除一条记录,性别为男
db.users.remove({sex:"男"},{justOne:true})  

//删除所有记录
db.users.remove({})  

(4)查询

-----查询所有记录

db.userInfo.find()  ||  show  collections   //相当于:select* from userInfo;

-----精确查找

db.userInfo.find({age: 22})   //查询age = 22的记录   
db.userInfo.find({"score.math": 98})  //查询其中某个对象下的数据,必须带引号

-----多条件查找

db.userInfo.find({age: {$gte: 23, $lte: 26}})  //查询age >= 23 并且 age <= 26

db.userInfo.find({name: 'zhangsan', age: 22})                           

//查询指定列name、age数据,age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1}) 

-----模糊查找

db.userInfo.find({name: /mongo/})  //查询name中包含 mongo的数据

db.userInfo.find({name: /^mongo/})  //查询name中以mongo开头的

-----比较查找

db.userInfo.find({age: {$gt: 22}})  //查询age > 22的记录

db.userInfo.find({age: {$lt: 22}})  //查询age < 22的记录

db.userInfo.find({age: {$gte: 25}})  //查询age >= 25的记录

db.userInfo.find({age: {$lte: 25}})  //查询age <= 25的记录

db.userInfo.find({$or: [{age: 22},{age: 25}]})  //查询age为22或25的文档

-----排序查询:

db.userInfo.find().sort({age: 1})   //升序(sort会自己提升到数据筛选的前面)

db.userInfo.find().sort({age: -1})  //降序

//当年龄相同时,才会采用语文成绩的倒序
db.store.find().sort({age:1,"score.yuwen":-1})

db.userInfo.find().limit(5)  //查询前5条数据
//括号内数字为0,显示全部;超过总条数,也是显示全部

db.userInfo.find().skip(10)  //查询10条以后的数据

db.userInfo.findOne()   //查询第一条数据

//查询在5-15之间的数据,这两个顺序无先后,执行结果一样
db.userInfo.find().limit(10).skip(5)  

db.store.find({sex:"男"}).sort({age:1}).limit(3).skip(9)  //sort、skip、limit可以结合使用 

----------其他

db.userInfo.distinct("name")  //查询去重后数据

db.userInfo.find({age: {$gte: 25}}).count()  //查询某个结果集的记录条数,写size()也可

db.advList.count({downNum:100})  //效率比用find找出来再计算长度高
//查找advList集合当中downNum值为100的文档条数,返回的是一个数字

//查询指定列name、age数据,0代表不显示,1代表显示
db.userInfo.find({}, {name: 1, age: 1});  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值