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

MongodDB $tira solo un elemento dall'array

No, non c'è niente di simile al momento. Molte persone hanno già richiesto la funzione e puoi rintracciarla in mongodb Jira . Per quanto puoi vedere, non è stato risolto e nemmeno programmato (il che significa che non avrai fortuna nel prossimo futuro).

L'unica opzione è utilizzare la logica dell'applicazione per ottenere ciò:

  1. trova l'elemento che desideri e che ha userTags come foo
  2. Esplora userTags e rimuovi un foo da esso
  3. aggiorna quell'elemento con un nuovo userTags

Tieni presente che questa operazione interrompe l'atomicità, ma poiché Mongo non ha fornito un metodo nativo per farlo, interromperai l'atomicità in alcun modo.

Ho spostato una soluzione alternativa alla nuova risposta, perché non risponde a questa domanda, ma rappresenta uno degli approcci per rifattorizzare lo schema esistente. È diventato anche così grande, che ha iniziato a essere molto più grande della risposta originale.