如何在node.js中建立mongoose查询的联合?

时间:2012-08-23 02:04:40

标签: node.js mongodb

这是我目前的代码:

Model.containing(req.user.location, function(err, models) {
  if (err) throw err;
  res.render('models/index', {title: 'Models', models: models});
});

我得到一个包含用户位置的模型列表。它很棒。现在我想要获得所有这些以前的型号和一个额外的。我可以用以下内容检索这个额外的模型:

Model.find().where('name').equals('desired name').exec(function(err, models) {
 //got my models!
});

我可以将它们结合起来做这样的事吗?

Model.containing(req.user.location, function(err, models) {
  if (err) throw err;
  Model.find().where('name').equals('desired name').exec(function(err, newModels) {
    var allModels = models + newModels;
    res.render('models/index', {title: 'Models', models: allModels});
  });
});

谢谢!

1 个答案:

答案 0 :(得分:2)

差不多,但由于modelsnewModels是数组,您需要调用concat来合并它们而不是使用+

var allModels = models.concat(newModels);