我正在尝试使用node.js访问mongoDB中的子文档ID,但是从语句中获取null输出: review = location.reviews.id(req.params.reviewid);
此外,结果将在控制台中打印出来,但在浏览器中,我收到一条错误消息,指出" reviewId not found"
答案 0 :(得分:0)
MongoDB提供$elemMatch
来搜索子文档。你可以尝试
db.locations.find( { _id: ObjectId("Your_locations_Id"), reviews: { $elemMatch: { id: ObjectId("Your_reviews_Id") } }})
在mongo shell中。我不确定猫鼬但应该遵循
Loc.find("_id": mongoose.Types.ObjectId(req.params.locationid)).elemMatch("reviews", {"id": mongoose.Types.ObjectId(req.params.reviewsid)})