sql >> Databáze >  >> NoSQL >> MongoDB

Připojte řetězec na konec existujícího pole v MongoDB

Spouští se Mongo 4.2 , db.collection.update() může přijmout agregační kanál, což konečně umožňuje aktualizaci pole na základě jeho aktuální hodnoty:

// { a: "Hello" }
db.collection.update(
  {},
  [{ $set: { a: { $concat: [ "$a", "World" ] } } }],
  { multi: true }
)
// { a: "HelloWorld" }
  • První část {} je vyhledávací dotaz, který filtruje, které dokumenty se mají aktualizovat (v tomto případě všechny dokumenty).

  • Druhá část [{ $set: { a: { $concat: [ "$a", "World" ] } } }] je kanál agregace aktualizací (všimněte si hranatých závorek označujících použití kanálu agregace). $set (alias $addFields ) je nový agregační operátor, který v tomto případě nahrazuje hodnotu pole (zřetězením a sám s příponou "World" ). Všimněte si, jak a se upravuje přímo na základě své vlastní hodnoty ($a ).

  • Nezapomeňte { multi: true } , jinak bude aktualizován pouze první odpovídající dokument.



  1. Jak zrušit platnost částí hierarchie (stromu) dat v mezipaměti Redis

  2. Heroku Redis - GUI a optimalizace paměti

  3. 5 způsobů, jak získat minuty z rande v MongoDB

  4. Hromadné vytváření klíčů v Redis - ServiceStack C#