mongodb 数组内容匹配删除方法, $all 用法

原创
2016/07/14 17:15
阅读数 1K

文档如下

相册

{
  "_id" : ObjectId("573ac80afb5f892dac0063e9"),
  "pictureSize" : 3,
  "pictures" : ["573ac80afb5f892dac0063e6", "573ac80afb5f892dac0063e7", "573ac80afb5f892dac0063e8"],
}

需求 删除多张照片 假设删除 "573ac80afb5f892dac0063e6", "573ac80afb5f892dac0063e7" 这两个 同时 pictureSize -2 为了保证删除内容必须匹配 且 要么此操作都成功 要么都失败

update 语句:

var ws = db.albums.update({_id:ObjectId("573ac80afb5f892dac0063e9"),pictures: {  "$all": ["573ac80afb5f892dac0063e7", "573ac80afb5f892dac0063e6"]  } },{
    $pullAll:{pictures:["573ac80afb5f892dac0063e7", "573ac80afb5f892dac0063e6"]},
    $inc:{pictureSize:-2}
})

ps: mongodb 语句 真是黑魔法。。。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部