Javascript 猫鼬&x2B;NodeJS-在文档中循环?
我有两个收藏-称之为main和sub。我的主要收藏如下所示Javascript 猫鼬&x2B;NodeJS-在文档中循环?,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我有两个收藏-称之为main和sub。我的主要收藏如下所示 { "_id" : "xxxxx", "subId" : "1234" } 我的潜艇看起来像 { "_id" : "1234", "name" : "somename" } 我写了一个这样的查询- Main.find({_id : { $in : ids }},function(err, results){ //Do something here }); 现在,我希望我的最终结果是 { "_id" : "x
{
"_id" : "xxxxx",
"subId" : "1234"
}
我的潜艇看起来像
{
"_id" : "1234",
"name" : "somename"
}
我写了一个这样的查询-
Main.find({_id : { $in : ids }},function(err, results){
//Do something here
});
现在,我希望我的最终结果是
{
"_id" : "xxxx",
"subName" : "somename"
}
我如何在文档中迭代并获得期望的结果。我对stack还不太熟悉。任何帮助都将不胜感激。提前谢谢 您可以使用如下引用和模式:
var mainSchema = Schema({
_id: Number,
subId: Number,
name: [{ type: Schema.Types.ObjectId, ref: 'Sub' }]
});
var subSchema = Schema({
_id: Number,
name: String,
});
var Main = mongoose.model('Main', mainSchema);
var Sub = mongoose.model('Sub', subSchema);
现在,您可以使用Sub
集合中的子文档“填充”查询:
Main.find({_id : { $in : ids }}).populate('name').exec(function(err, results){
//Do something here
});
在mongo中使用模式(通过mongoose)并不是使用mongoI的必要条件,mongoI将答案编辑为“可以”而不是“必须”。非常感谢。这很有帮助。