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

Aggiornamento di un array in MongoDB utilizzando il driver Java

sì, il codice sopra funziona perfettamente. Ora so dov'era il mio errore. Volevo farlo a prova di proiettile, quindi ho pensato che sarebbe stato meglio usare save() su DBCollection alla fine e salvare esplicitamente la lista della spesa DBObject:

shoppingLists.save( shoppingList );

Ora ho letto in qualche altro forum che gli oggetti che recuperi dal database non vengono quindi sincronizzati con il database in seguito (mi sembra logico ora :)). Quindi ho sovrascritto io stesso le modifiche ogni volta. Dopo aver rimosso la riga sopra ha funzionato :)

Quindi una regola importante:quando aggiorni la tua DBCollection – questo viene inviato direttamente al database! – non salvare un DBObject che hai interrogato prima dell'aggiornamento! Sovrascriverà il tuo aggiornamento!