MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Актуализиране на вложени масиви в mongoDB чрез mongo shell

Вие директно удряте едно от текущите ограничения на MongoDB. Проблемът е, че машината не поддържа няколко позиционни оператора. Вижте това Многократно използване на позиционния оператор `$` за актуализиране на вложени масиви

Има отворен билет за това:https://jira.mongodb.org/browse/SERVER-831 (споменато също там)

Можете също да прочетете това за това как да промените модела си на данни:Актуализиране на вложени масиви в mongodb

Ако е възможно за вас, можете да направите:

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>}})

Но не можете да направите:

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. Как да архивирате и възстановите ClusterControl

  2. MongoDB не може да стартира сървър:Машината за съхранение по подразбиране 'wiredTiger' не е налична с тази версия на mongod

  3. mongoDB:$dateToString формат за показване на времето с интервал от 15 минути

  4. Изчислете средната стойност на mongodb документ

  5. Персонализирано каскадиране в Spring Data MongoDB