使用步骤(控制流程库)和猫鼬问题

时间:2012-04-30 21:55:08

标签: node.js mongoose control-flow

如果我以正常方式查询集合中的所有文档,我没有问题:https://gist.github.com/2562954。输出是

found docs []

但是,如果我引入Step(https://github.com/creationix/step),那么输出不是文档数组:https://gist.github.com/2562852。输出结果如下:

found docs { options: { populate: {} },
  safe: undefined,
  _conditions: {},
  op: 'find',
  model: [Function: Model] }

到底发生了什么事?我真的很喜欢使用带有猫鼬的控制流库,但这让我疯了!

1 个答案:

答案 0 :(得分:0)

试试这个。我有类似的Step功能。

注意:我不知道这是否是造成问题的原因,但是当您在coffeescript中执行此操作时,它会在models.Foobar.find({}).run(this);之前添加“return”

step(
  function getFoobar() {
    models.Foobar.find({}).run(this);
  }, function (err, docs) {
    console.log('found docs', docs);
    console.log('disconnecting');
    return mongoose.disconnect(this);
  }, function (err) {
    if (err) {
        throw err;
    }
    return console.log('disconnected');
});