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

MongoDB aktualizuje pola w zagnieżdżonej tablicy

Ten problem został rozwiązany. Funkcja aktualizacji pól w zagnieżdżonej tablicy obiektów jest dostępna w wersjach MongoDB 3.6+. Zobacz operatory pozycyjne (wszystkie i z identyfikatorem) tutaj.

//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"} ]}
);

To jest dla pomocy ludzi, którzy przychodzą tutaj po MongoDB 3.6



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Tutorial:Łączenie się z MongoDB w Scala

  2. spring-data-mongo - opcjonalne parametry zapytania?

  3. MongoDB - jak zapytać o zagnieżdżony element w kolekcji?

  4. Agregacja $ lookup nie zwraca elementów oryginalnej kolejności tablicy

  5. Jak sprawdzić, czy pole tablicy zawiera unikalną wartość lub inną tablicę w MongoDB?