Secondo la nostra discussione, abbiamo trovato la causa principale da
db.locations.update({ name: 'Starcups' },
{ $push: {
reviews: {
author: 'Simon Holmes',
id: ObjectId(), // issue is here
rating: 5, ... } } })
id: ObjectId()
creerà id
campo nel documento secondario e senza _id
campo nelle reviews
documento secondario.
id()
viene utilizzato per documentArrays hanno uno speciale id
metodo per cercare un documento in base al suo _id
. Poiché non esiste un _id
campo in reviews
array di documenti, non funziona bene.
Rimuovi id: ObjectId()
dal tuo codice.