我需要对子文档进行更新,我应该在每个评论中包含id,我在mongo shell中写道,
db.hotels.update(
{},
{
$set: {
"reviews.0_id": ObjectId()
}
},
{
multi: true
}
)

但是我收到了这个错误:
db.hotels.update(
.. {},
.. {
.. $set: {
.. "reviews.0_id": ObjectId()
.. }
.. },
.. {
.. multi: true
.. }
.. )
riteResult({
"nMatched" : 0,
"nUpserted" : 0,
"nModified" : 0,
"writeError" : {
"code" : 16837,
"errmsg" : "cannot use the part (reviews of reviews.0_id) to traverse the element ({reviews: [ { name: \"Tamas\", id: \"/user/tamas.json\", review: \"Great hotel\", rating: 4 }
]})"
}
)

有人可以帮我理解为什么我会收到此错误以及如何解决,请提前谢谢。