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

Aktualizowanie zagnieżdżonych tablic w mongoDB za pośrednictwem powłoki mongo

Bezpośrednio natrafiasz na jedno z obecnych ograniczeń MongoDB. Problem polega na tym, że silnik nie obsługuje kilku operatorów pozycyjnych. Zobacz to Wielokrotne użycie operatora pozycyjnego `$` do aktualizacji zagnieżdżonych tablic

Jest na to otwarty bilet:https://jira.mongodb.org/browse/SERVER-831 (również tam wspomniany)

Możesz również przeczytać ten, jak zmienić model danych:Aktualizacja zagnieżdżonych tablic w mongodb

Jeśli jest to dla Ciebie możliwe, możesz zrobić:

db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.0.language.$.count":<number>}})

db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.$.language.0.count":<number>}})

Ale nie możesz zrobić:

db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.$.language.$.count":<number>}})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ln

  2. Jak modelować system głosowania na polubienia za pomocą MongoDB

  3. Jak połączyć klientów mongodb z lokalną bazą Meteor MongoDB

  4. Mongodb dopasowuje znaki akcentowane jako podstawowy znak

  5. jak odpytywać obiekty podrzędne w mongodb