0

所以我定义了一些猫鼬模式。

var partSchema = mongoose.Schema({
  name: String,
  system: String,
  team: Array,
  quantity: Number, 
});
var part = mongoose.model('part', partSchema);

var peopleSchema = mongoose.Schema({
  name: String, 
  pass: String, 
  role: String,
  parts: Array
});

var people = mongoose.model('people', peopleSchema);

我想向用户发送基于这些模式的查询,以及更多。像这样...

app.get('/', function(req, res){
   people.find(function(err, persons){
     if (err) return handleError(err);
     console.log(persons);
     parts.find(function(err, things){
       res.render('in', { user: req.session.user, people:persons, parts:things });
     });
   });
});

为了保持异步,我必须嵌套这些调用,对吗?而且我不能嵌套这些调用,因为不再定义“部分”。我想知道我是否可以做到这一点,我该怎么做?抱歉,如果这是一个菜鸟问题,但我已经查了好几天了,似乎还没有找到解决方案。谢谢!

4

1 回答 1

0

'part'您的模型的变量名称是part,而不是parts。所以应该是:

app.get('/', function(req, res){
   people.find(function(err, persons){
     if (err) return handleError(err);
     console.log(persons);
     part.find(function(err, things){   // <-- Changed on this line
       res.render('in', {user: req.session.user, people:persons, parts:things});
     });
   });
});
于 2013-02-17T05:17:33.350 回答