De acordo com nossa discussão, encontramos a causa raiz por
db.locations.update({ name: 'Starcups' },
{ $push: {
reviews: {
author: 'Simon Holmes',
id: ObjectId(), // issue is here
rating: 5, ... } } })
id: ObjectId()
criará id
campo no subdocumento e sem _id
campo nas reviews
subdocumento. id()
é usado para documentArrays ter um id
especial método para procurar um documento por seu _id
. Como não há _id
campo em reviews
matriz de documentos, não funciona bem. Remova
id: ObjectId()
do seu código.