从Koa.js中的循环产生猫鼬结果

时间:2014-11-29 12:46:12

标签: javascript node.js mongodb mongoose koa

我在Koo.js中使用Mongoose.js。我的mongo中有一个名为css的集合。其中有以下架构:

_id
css_name
css_value

我有一个包含大量列表的数组:

var list = ['font-color', 'back-color', 'font-family', 'back-image', 'back-repeat', ... ];

现在我已经宣布了一个名为css的mongoose模型并执行这样的循环:

for(var i = 0; i < list.length; i++) {
   console.log(yield css.findOne({css_name: list[i]}).exec());
}

如果我执行上面的代码,它在控制台中给出null。每当我省略循环时,它都能完美运行:

//for(var i = 0; i < list.length; i++) {
   console.log(yield css.findOne({css_name: 'font-color'}).exec());
//}

所以问题在于循环。任何人都可以建议一种更好的工作方式来使用mongoose模型从循环中获取所有值吗?

1 个答案:

答案 0 :(得分:1)

我没有真正发现您的代码存在问题,说实话,它应该有效,如果您看到null因为查询没有返回任何文档,请尝试{ {1}}并自己执行查询。无论如何,如果您只需要一次性获得所有结果,只需使用mongoose.set('debug', true),如下所示:

co-each