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

MongoDB cập nhật đối tượng mảng trong một mảng

bạn có thể sử dụng $[] positional-all tới các phần tử mảng lồng nhau được cập nhật, mongo doc cho $ []

truy vấn

db.t14.update(
   {},
   { $set: { "calc.$[].datasets.$[elem].name": "updated" } },
   { arrayFilters: [  { "elem": "x1" } ], multi: true}
)

bộ sưu tập mẫu với một tài liệu

> db.t14.findOne()
{
        "_id" : 1,
        "calc" : [
                {
                        "preset" : "abc",
                        "datasets" : [
                                {
                                        "_id" : "x1",
                                        "name" : "n1"
                                },
                                {
                                        "_id" : "x2",
                                        "name" : "n2"
                                }
                        ]
                }
        ]
}

cập nhật

> db.t14.update({},{$set: { "calc.$[].datasets.$[elem].name": "newname" } },{ arrayFilters: [{ "elem.name": "n1" }], multi: true})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

đăng cập nhật

> db.t14.findOne()
{
        "_id" : 1,
        "calc" : [
                {
                        "preset" : "abc",
                        "datasets" : [
                                {
                                        "_id" : "x1",
                                        "name" : "newname"
                                },
                                {
                                        "_id" : "x2",
                                        "name" : "n2"
                                }
                        ]
                }
        ]
}
>



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. dừng mongodb tạo dbs và bộ sưu tập động

  2. Spring Mongo DB @DBREF

  3. MongoDB có thể được đóng gói trong một ứng dụng Electron không?

  4. Xem hơn 20 tài liệu gần đây nhất trong MongoDB Compass từ Schema

  5. Cách đọc một bộ sưu tập phụ thuộc vào một bộ sưu tập khác trong Meteor