sql >> Databasteknik >  >> NoSQL >> MongoDB

Lägg till en sträng i slutet av ett befintligt fält i MongoDB

Startar Mongo 4.2 , db.collection.update() kan acceptera en aggregeringspipeline, vilket slutligen tillåter uppdatering av ett fält baserat på dess nuvarande värde:

// { a: "Hello" }
db.collection.update(
  {},
  [{ $set: { a: { $concat: [ "$a", "World" ] } } }],
  { multi: true }
)
// { a: "HelloWorld" }
  • Den första delen {} är matchningsfrågan som filtrerar vilka dokument som ska uppdateras (i detta fall alla dokument).

  • Den andra delen [{ $set: { a: { $concat: [ "$a", "World" ] } } }] är uppdateringsaggregationspipeline (observera att hakparenteserna anger användningen av en aggregationspipeline). $set (alias för $addFields ) är en ny aggregeringsoperator som i det här fallet ersätter fältets värde (genom att sammanfoga a sig själv med suffixet "World" ). Notera hur a modifieras direkt baserat på sitt eget värde ($a ).

  • Glöm inte { multi: true } , annars kommer bara det första matchande dokumentet att uppdateras.



  1. Geospatial $nära inom aktuellt dokumentfältvärde

  2. MongoDB $strcasecmp

  3. Kräver Redis Cache i .NET Core 3 användning av Stack Exchange-paketet?

  4. 2 sätt att begränsa dokumenten som returneras i MongoDB