sql >> Database teknologi >  >> NoSQL >> MongoDB

Tilføj en streng til slutningen af ​​et eksisterende felt i MongoDB

Starter Mongo 4.2 , db.collection.update() kan acceptere en aggregeringspipeline og endelig tillade opdatering af et felt baseret på dets aktuelle værdi:

// { a: "Hello" }
db.collection.update(
  {},
  [{ $set: { a: { $concat: [ "$a", "World" ] } } }],
  { multi: true }
)
// { a: "HelloWorld" }
  • Den første del {} er matchforespørgslen, der filtrerer, hvilke dokumenter der skal opdateres (i dette tilfælde alle dokumenter).

  • Den anden del [{ $set: { a: { $concat: [ "$a", "World" ] } } }] er opdaterings-aggregeringspipeline (bemærk de firkantede parenteser, der angiver brugen af ​​en aggregeringspipeline). $set (alias for $addFields ) er en ny aggregeringsoperator, som i dette tilfælde erstatter feltets værdi (ved at sammenkæde a sig selv med suffikset "World" ). Bemærk hvordan a er modificeret direkte baseret på sin egen værdi ($a ).

  • Glem ikke { multi: true } , ellers vil kun det første matchende dokument blive opdateret.



  1. Redis:Sådan parses et listeresultat

  2. Sådan indstilles mongod.conf bind_ip med flere ip-adresser

  3. batchSize feltnavn ignoreret i Field Projection

  4. Mongoose udløber ejendom fungerer ikke korrekt