Mongoose + NodeJS - 循环文件?

时间:2015-08-02 15:18:58

标签: 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" : "xxxx",
  "subName" : "somename"
}

如何迭代文档并获得所需的结果。我对MEAN堆栈相当新。任何帮助,将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:1)

你可以使用像这样的参考和populate模式:

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 collection:

中的子文档“填充”查询
Main.find({_id : { $in : ids }}).populate('name').exec(function(err, results){
  //Do something here
});