mongoDB常用查询更新删除语句

mongo常用查询、更新、删除等语句


注意:文中的所有 collection 代表 mongo 表名称

常用条件操作符:$gt(>)、$lt(<)、$gte(>=)、$lte(<=)、$ne(!=)、$eq(=)、$add(+)、$subtract(-)、$multiply(*)、$divide(/)

查询:

1、基础条件查询

db.collection.find({“type” : “test”);

2、区间查询

db.collection.find({"type":"test","addTime":{$lte:ISODate("2019-06-11T59:59:00.492+08:00"),$gte:ISODate("2019-06-12T00:00:00.492+08:00")}});

3、数组列表in查询

db.collection.find({“type”:“test”,“ids”:{$in: [1,2,3]}});

4、分页排序查询,倒序(-1),正序(1)

db.collection.find({“type”:“test”}).sort({“addTime”:-1}).skip(0).limit(2);

5、分组查询,统计type类型的age总和

db.collection.aggregate([{$group:{_id:"$type",total:{$sum:"$age"}}}]);

6、带条件的分组查询,统计name非空,type类型的age总和,这里必须使用$group

db.collection.aggregate([{$match:{"name":{$ne:null}}},{$group:{_id:"$type",total:{$sum:"$age"}}}]);

7、带条件的分组查询,统计type类型是test,remark不是手动生成任务的重复订单号数量大于1的列表,这里必须使用$group

db.collection.aggregate([{$match:{"type" : "test","remark" : {$ne:"手动生成任务"}}},{$group:{_id:"$orderNo",total:{$sum:1}}},{ $match: { total: { $gt : 1}}}]);

8、使用aggregate聚合计算查询,查询type类型是test的(age1 / age2)表达式的值,这里必须使用$project

db.collection.aggregate([{$match:{"type" : "test"}},{$project:{_id:"$id",sub:{{ $divide: [ "$age1", "$age2" ]}}}}]);

9、使用aggregate聚合计算查询,查询type类型是test的((age1 + age2) * (year1 - year2))表达式的值,这里必须使用$project

db.collection.aggregate([{$match:{"type" : "test"}},{$project:{_id:"$id",total:{$multiply:[{ $add: [ "$age1", "$age2" ]},{ $subtract: [ "$year1", "$year2" ]}]}}}]);

更新:

1、更新字段,其中属性1是条件,2是更新field,3是如果记录不存在,是否插入记录,默认是false,4是是否更新查找到的全部记录,默认是false(只更新找到的第一条数据)

db.collection.update({"_id": ObjectId('123456')},{$set:{"type":"test"}},false,true);

2、增加索引,倒序(-1),正序(1)

db.collection.ensureIndex({type:1})

删除:

1、整个表删除

db.collection.drop()

2、删除某些条件的数据,删除type类型是test的数据

db.collection.remove({"type" : "test"})

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在MongoDB中,可以使用remove()方法来删除文档。默认情况下,remove()方法会删除所有符合删除条件的文档。例如,使用以下语句删除年龄大于30的用户文档: db.users.remove( { "age": {$gt:30}})。如果只想删除一个匹配的文档,可以使用justOne选项: db.users.remove( { "age": {$gt:30}}, { justOne: true })。\[1\]另外,如果想删除集合中的所有文档,可以使用remove()方法并传入一个空的查询对象: db.collection.remove({})。\[2\]需要注意的是,要成功创建数据库,必须先插入至少一个文档。可以使用insert()方法将数据插入集合中,例如: db.collection.insert({"name":"xiaoming"})。\[3\] #### 引用[.reference_title] - *1* *3* [MongoDB 常用增删改查语句](https://blog.csdn.net/ZYS10000/article/details/116425819)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [MOngoDB 删除语句命令](https://blog.csdn.net/qq_23681041/article/details/116928882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值