sql >> Databasteknik >  >> NoSQL >> MongoDB

MongodDB $dra bara ett element från arrayen

Nej, det finns inget liknande för tillfället. Många människor har redan begärt funktionen och du kan spåra den i mongodb Jira . Såvitt du kan se är det inte löst och inte heller schemalagt (vilket betyder att du inte har någon tur inom en snar framtid).

Det enda alternativet är att använda applikationslogik för att uppnå detta skulle vara:

  1. hitta ett element som du vill ha och som har userTags som foo
  2. itera igenom userTags och ta bort en fot från den
  3. uppdatera det elementet med en ny userTags

Tänk på att den här operationen bryter atomiciteten, men eftersom Mongo inte har tillhandahållit en inhemsk metod för att göra det kommer du att bryta atomiciteten på något sätt.

Jag flyttade en alternativ lösning till det nya svaret, eftersom det inte svarar på denna fråga, utan representerar ett av tillvägagångssätten för att refaktorera befintligt schema. Det blev också så stort att det började bli mycket större än det ursprungliga svaret.



  1. Hur skickar man data mellan flera Lua State (multi-tråd)?

  2. MongoDB - Skriv ut

  3. hur man infogar inbäddat dokument med vårdata mongodb mongotemplate

  4. AngularJS-anslutning med MongoDB