MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Thao tác cập nhật Mongodb bên trong mảng con

Bạn không muốn sử dụng $set ở đây, nhưng $pull ( xem tài liệu ), và trong khi bạn có thể sử dụng $elemMatch để chỉ rõ thêm truy vấn của bạn, bạn không cần phải.

Phần sau sẽ kéo tất cả thêm thông báo kết bạn với {"sender": "safari"} từ mảng phụ của tài liệu khớp với {"username": "amitverma"}

db.yourcollection.update({"username": "amitverma"}, { 
  $pull: {"notifications.notifications_add_friend": {"sender": "safari"}}
})

Đối với nhận xét của bạn, nếu bạn muốn cập nhật một yếu tố cụ thể, bạn sẽ sử dụng $set kết hợp với $elemMatch toán tử vị trí $ . Đối với ví dụ của bạn, một cái gì đó như:

db.yourcollection.update({
  "username": "amitverma", 
  "notifications.notifications_add_friend": {
    $elemMatch: {"sender": "safari"}
  }
}, {
  $set: {
    "notifications.notifications_add_friend.$.isUnread": false
  }
})



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dữ liệu phân vùng xung quanh truy vấn đối sánh trong quá trình tổng hợp

  2. MongoDB:$ lookup trả về mảng trống

  3. Làm cách nào để cập nhật tài liệu Mongo sau khi chèn nó?

  4. Thiết kế lược đồ MongoDB:Luôn có một lược đồ

  5. Lấy giá trị trường từ mảng tài liệu con