Gemäß unserer Diskussion haben wir die Grundursache von
gefundendb.locations.update({ name: 'Starcups' },
{ $push: {
reviews: {
author: 'Simon Holmes',
id: ObjectId(), // issue is here
rating: 5, ... } } })
id: ObjectId() erstellt id Feld im Filialdokument und ohne _id Feld in den reviews Unterdokument.
id()
Methode wird verwendet, um documentArrays eine spezielle id zu geben Methode zum Suchen eines Dokuments anhand seiner _id . Da es keine _id gibt Feld in reviews document array, es funktioniert nicht gut.
Bitte entfernen Sie id: ObjectId() aus Ihrem Code.