我使用mongodb节点的npm 驱动程序.
我有
collection.findOne({query}, function(err, result) {
    //do something
}
问题是我没有任何结果,err仍然null是我是否找到结果或不是.我怎么知道查询没有找到结果?
我也试过了
info = collection.findOne(....
但这info只是undefined(它看起来是异步的,所以我不认为这是要走的路..)
jma*_*777 69
没有找到任何记录并不是一个错误条件,所以你想要寻找的是缺少一个值result.由于任何匹配的文件将始终是"真实的",您只需使用简单的if (result)检查.例如,
collection.findOne({query}, function(err, result) {
    if (err) { /* handle err */ }
    if (result) {
        // we have a result
    } else {
        // we don't
    }
}
Ste*_*nko 10
以下所有这些答案都已过时.findOne已被弃用.最新的2.1文档建议使用
find(query).limit(1).next(function(err, doc){
   // handle data
})
简单来说:
collection.findOne({query}, function(err, result) {
    if (!result) {
        // Resolve your query here
    }
}
| 归档时间: | 
 | 
| 查看次数: | 37899 次 | 
| 最近记录: |