嗨,我有一个使用 mongodb 的 expressjs 应用程序。
起初我在我的“tvs”集合上找到了一个 id 的电视,我明白了,但现在我想从其他集合“用户”中找到所有用户信息。
这是每个集合的 JSON:
电视
{
"_id" : ObjectId("5203af83396d285ea2ecff8f"),
"brand" : "LG",
"comments" : [{
"user" : ObjectId("521dc636eda03d0f9cab3568"),
"text" : "Sold!"
}, {
"user" : ObjectId("521b2785eda03d0f9cab3566"),
"text" : "Nice TV"
}],
"model" : "47LS5600",
"price" : 499.0
}
用户
{
"_id" : ObjectId("521b2785eda03d0f9cab3566"),
"name" : {
"first" : "Ruben",
"last" : "Montes"
}
}
这是我的代码
var tvs = db.collection("tvs");
var users = db.collection("users");
exports.findById = function (req, res) {
var id = req.params.id;
tvs.findOne({'_id': new BSON.ObjectID(id)}, function (err, tv) {
users.find( { _id : tv.comments.user_id }).toArray(function (err, items) {
res.send( { tv: tv, users: items } );
});
})
}
我需要知道如何从 tvs 集合中迭代评论数组以获取发布评论的信息用户
users.find( { _id : tv.comments.user_id })