Zgodnie z naszą dyskusją znaleźliśmy główną przyczynę przez
db.locations.update({ name: 'Starcups' },
{ $push: {
reviews: {
author: 'Simon Holmes',
id: ObjectId(), // issue is here
rating: 5, ... } } })
id: ObjectId()
utworzy id
pole w poddokumencie i bez _id
pole w reviews
poddokument.
id()
Metoda służy do tego, że documentArrays mają specjalny id
metoda wyszukiwania dokumentu po jego _id
. Ponieważ nie ma _id
pole w reviews
tablica dokumentów, nie działa dobrze.
Usuń id: ObjectId()
z Twojego kodu.