Според нашата дискусия открихме първопричината от
db.locations.update({ name: 'Starcups' },
{ $push: {
reviews: {
author: 'Simon Holmes',
id: ObjectId(), // issue is here
rating: 5, ... } } })
id: ObjectId()
ще създаде id
поле в поддокумента и без _id
поле в reviews
поддокумент.
id()
методът се използва за documentArrays да имат специален id
метод за търсене на документ по неговия _id
. Тъй като няма _id
поле в reviews
масив от документи, не работи добре.
Моля, премахнете id: ObjectId()
от вашия код.