Mongoose + NodeJS - 循环遍历文档?

14 浏览
0 Comments

Mongoose + NodeJS - 循环遍历文档?

这个问题已经有了答案

我怎样在 MongoDB 中执行 SQL Join 等效操作?

我有两个集合 - 将它们称为“主要”和“次要”。 我的主要集合如下所示,

{
  "_id" : "xxxxx",
  "subId" : "1234"
}

我的子集看起来像这样,

{
  "_id" : "1234",
  "name" : "somename"
}

我编写的查询如下 -

Main.find({_id : { $in : ids }},function(err, results){
  //Do something here
});

现在,我希望最终结果是这样的,

{
  "_id" : "xxxx",
  "subName" : "somename"
}

我怎样迭代文档并完成所需的结果。 我对 MEAN 堆栈还比较新。 任何帮助都将不胜感激。 预先感谢。

admin 更改状态以发布 2023年5月23日
0
0 Comments

你可以使用以下参考和populate模式:\n

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);

\n现在你可以使用Sub子文档集合来“填充”查询结果了:\n

Main.find({_id : { $in : ids }}).populate('name').exec(function(err, results){
  //Do something here
});

0