我使用mongodb作为我的后端,它在索引_entity中有大约400个文档。
我正在使用mongoose和我的nodejs并按如下方式查询,
getCountries : function(event,context,callback){
dbHelper.query(mongoose.model('_entity'), {},function(error,data){
console.log(data);
callback(data);
});
这是dbHelper。
query : function(model, conditon,options) {
return new Promise(function(resolve, reject) {
options = options||{};
model.find(conditon, {}, options, function(error, data) {
if (error)
reject(error);
resolve(data);
})
})
}
代码有什么问题吗?当我在mongo客户端上运行查询时,它会显示结果。
答案 0 :(得分:1)
您在查询中返回一个承诺,因此您需要使用.then方法而不是回调。
getCountries : function(event,context,callback){
dbHelper.query(mongoose.model('_entity'), {}).then(function(data){
});
}
编辑: 如果您正在使用mongoose4,那么您可以像查询本身一样返回一个承诺。
query : function(model, conditon,options) {
options = options||{};
return model.find(conditon, {}).exec();
}
你仍然需要保留.then与之前的回复。