MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB aktualizuje obiekt tablicy w tablicy

możesz użyć $[] positional-all aby zaktualizować zagnieżdżone elementy tablicy, mongo doc dla $[]

zapytanie

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

zbiór próbek z dokumentem

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

aktualizacja

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

opublikuj aktualizację

> 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. Jak określić preferencje odczytu w zapytaniach mongo Meteor

  2. dlaczego DuplicateKeyError:E11000 zduplikowany indeks błędu klucza:test.test.$notification_1 dup key:{ :null }

  3. Spring Custom Query z możliwością stronicowania

  4. Czym NoSQL zorientowany na kolumny różni się od zorientowanego na dokument?

  5. MongoError:nieznany modyfikator:$pushAll w węźle js