我使用mongodb节点的npm 驱动程序.
我有
collection.findOne({query}, function(err, result) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
问题是我没有任何结果,err仍然null是我是否找到结果或不是.我怎么知道查询没有找到结果?
我也试过了
info = collection.findOne(....
Run Code Online (Sandbox Code Playgroud)
但这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
}
}
Run Code Online (Sandbox Code Playgroud)
Ste*_*nko 10
以下所有这些答案都已过时.findOne已被弃用.最新的2.1文档建议使用
find(query).limit(1).next(function(err, doc){
// handle data
})
Run Code Online (Sandbox Code Playgroud)
简单来说:
collection.findOne({query}, function(err, result) {
if (!result) {
// Resolve your query here
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37899 次 |
| 最近记录: |