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

Добавяне на низ в края на съществуващо поле в MongoDB

Стартиране на Mongo 4.2 , db.collection.update() може да приеме конвейер за агрегиране, като накрая позволява актуализирането на поле въз основа на текущата му стойност:

// { a: "Hello" }
db.collection.update(
  {},
  [{ $set: { a: { $concat: [ "$a", "World" ] } } }],
  { multi: true }
)
// { a: "HelloWorld" }
  • Първата част {} е заявката за съвпадение, която филтрира кои документи да се актуализират (в този случай всички документи).

  • Втората част [{ $set: { a: { $concat: [ "$a", "World" ] } } }] е тръбопроводът за обновяване на агрегиране (обърнете внимание на квадратните скоби, означаващи използването на конвейер за агрегиране). $set (псевдоним на $addFields ) е нов оператор за агрегиране, който в този случай замества стойността на полето (чрез конкатениране на a себе си с наставката "World" ). Обърнете внимание как a се променя директно въз основа на собствената си стойност ($a ).

  • Не забравяйте { multi: true } , в противен случай само първият съответстващ документ ще бъде актуализиран.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Meteor използва извличане или намиране в помощни функции на шаблона?

  2. mongodb добавя брояч към всеки извлечен документ

  3. MongoDB:агрегирано поле за добавяне на $project със статична стойност

  4. Набори реплики на MongoDB с арбитри

  5. проблем с връзката mongo - ruby