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

Các trường cập nhật MongoDB trong mảng lồng nhau

Vấn đề này đã được giải quyết. Tính năng cập nhật mảng đối tượng lồng nhau bên trong trường, có sẵn trong các phiên bản MongoDB 3.6+. Hãy xem các toán tử vị trí (tất cả và với số nhận dạng) tại đây.

//Update all docs in collection matching photo name "play" to "play photo"
db.collectioname.update(
    {},
    { $set: { "albums.$[].photos.$[photo_field].name": "play photo" } },
    { arrayFilters: [  {"photo_field.name": "play"} ], multi: true}
);

//Update this specific doc given in question matching photo name "play" to "play photo"
db.collectioname.update(
    {"_id" : ObjectId("4f41a5c7c32810e404000000")},
    { $set: { "albums.$[].photos.$[photo_field].name": "play photo" } },
    { arrayFilters: [  {"photo_field.name": "play"} ]}
);

Đây là sự trợ giúp của những người đến đây sau MongoDB 3.6



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB trích xuất các giá trị từ BasicDBObject (Java)

  2. WiredTiger và cập nhật tại chỗ

  3. Kết nối với MongoDB 3.0 bằng Java Spring

  4. 3 cách để có được một tuần từ một ngày trong MongoDB

  5. Chuyển đổi dự phòng cho MySQL Replication (và những thứ khác) - Nó có nên được Tự động hóa không?