mongodb批量插入,批量更新,批量删除,批量查询

22 篇文章 0 订阅
14 篇文章 0 订阅

批量插入

> db.user.insertMany([{username: "一号", password: "二号"},{username: "一号m", password: "二号m"}]);
{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("5d677bf6266a6c3bde961c92"),
		ObjectId("5d677bf6266a6c3bde961c93")
	]
}

批量删除

为什么要用批量删除?
因为只使用deleteOne或者pull,drop等,只会删除匹配到的第一个文档

> db.user.deleteMany({username: "1"})
{ "acknowledged" : true, "deletedCount" : 2 }

批量更新

为什么要用批量更新?
因为只是用update,updateOne,findOneAndUpdate都只会修改匹配到的第一个文档,除非你指定multi为true

> db.team_roles.updateMany(
{team: 
{
$in:
[
ObjectId("5cb6cf1cb6d7ff7c270787b5"), 
ObjectId("5d1c6b3589a4db1378127769"), 
ObjectId("5b36e9cef2ca8030eca62359")
]
},
"privileges.crm.value":{$exists: true}}, 
{$set: {"privileges.crm.value": "00"}},
{upsert: false,/*multi: true*/});

{
	"acknowledged" : true,
	"matchedCount" : 15,
	"modifiedCount" : 15
}

$exists:判断该值是否存在
upsert:如果该值不存在,是否自动插入?
multi:是否更新匹配到的所有文档?默认为false,只修改第一条匹配的文档,但在updateMany中不需要,因为它已经是批量修改了

批量查询

db.team_roles.find(
  {
      team: 
  {
      $in:
      [
          ObjectId("5cb6cf1cb6d7ff7c270787b5"), 
          ObjectId("5d1c6b3589a4db1378127769"), 
          ObjectId("5b36e9cef2ca8030eca62359")
      ]
      
  },
  $or:[
  {
  "privileges.crm.value"://数值长度不符合规则的
  {
  $exists: true, 
  $regex: /^.{0,13}$/
      
  }
  },
  ]
  },
{"privileges.crm.value":1, _id: 0});

$regex:判断该字符串值长度是否符合预期

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值