一、$pull删除数组中符合条件的值

  1. //stores
  2. {id:1000,
  3. cartList:[
  4. {productId:1001,name:'手机'},
  5. {productId:1002,name:"电脑"},
  6. {productId:1003,name:"平板"}
  7. ]
  8. }
  1. //删除手机这条数据
  2. db.stores.update({id:1000},{$pull:{"cartList":{"productId":1001}}})

二、$push向数组中添加一条数据

  1. db.stores.update({id:1000},{$push:{"cartList":{productId:1004,name:"电动车"}}})

三、更新内嵌数组中某条数据

  1. //user
  2. //更新cartList中id等于1002这条数据,将num设置为2
  3. {
  4. _id: 4,
  5. cartList: [
  6. { id: 1001, num: 1, name: "手机" },
  7. { id: 1002, num: 1, name: "电脑" },
  8. { id: 1003, num: 1, name: "平板" }
  9. ]
  10. }
  1. db.user.update({_id:4,"cartList.id":1001},{$set:{"cartList.$.num":2}})

四、查询内嵌数组中的某条字段

  1. User.find({"cartList._id":id})

五、查询内嵌数组

  1. db.user.find({},{cartList:1})

六、批量修改内嵌数组中的某个字段

  1. var res =db.user.find({},{cartList:1})
  2. var cartList = res[0].cartList;
  3. cartList.forEach(item=>{
  4. item.checked = false;
  5. })
  6. db.user.update({},{cartList})