我在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模型从循环中获取所有值吗?
答案 0 :(得分:1)
我没有真正发现您的代码存在问题,说实话,它应该有效,如果您看到null
因为查询没有返回任何文档,请尝试{ {1}}并自己执行查询。无论如何,如果您只需要一次性获得所有结果,只需使用mongoose.set('debug', true)
,如下所示:
co-each