MongoDB 查找检查是否存在未按预期工作
MongoDB Find Check If Exists not working as expected
我有一个MongoDB查询,我在下面的NodeJS中运行,如果查询返回null,则不应该运行(doc):
collection.find( { name: "HOSTNAME_1" }, {$exists: true}).sort( { _id : -1 } ).limit(1).toArray(function(err, doc){
if (doc) {
res.write("event: add" + ''n');
res.write("data: " + JSON.stringify(doc).substr(1,JSON.stringify(doc).length-2) + "'n'n");
} else if (!doc) {
console.log("No Entry Found!");
}
});
出于某种原因,它仍然运行 doc 函数并在我卷曲它时输出它。
event: add
data:
如果我删除.toArray
,我的查询如下所示:
db.clients.find( { name: "HOSTNAME_1" }, {$exists: true}).sort( { _id : -1 } ).limit(1)
它像它应该的那样返回 null,如果我对实际存在的项目运行它,它会像它应该返回{ "_id" : ObjectId("12345689randomnumber") }
一样返回。 .toArray
的某些东西正在屠杀我的{$exist:true}
错误句柄。
如何在一个查询中"错误处理"它,而不必在查询之外编写 if else 语句?谢谢c:
我还没有测试过它,但查看文档,toArray 返回数组,我认为当没有结果时,它会返回一个空数组[]
?如果是这种情况,那么if([])
实际上在解释它的javascript中返回true。
相关文章:
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- 由于存在标签('#')特殊字符,URL无法工作
- 这个get方法似乎可以工作,但控制台中存在错误
- PHP表单输出保存在jquery的Excel工作表中
- MongoDB 查找检查是否存在未按预期工作
- Phantomjs检查javascript是否存在并且正在工作
- 数组中是否存在不工作的值
- Javascript即使存在于源代码中也无法工作
- 由于回调结构中可能存在错误,无法使超时工作
- AngularJS-ng斗篷按钮不工作(闪烁仍然存在)在铬-ng斗篷不工作'由于某种原因,它甚至没有被添加到CS
- 当URL中存在查询字符串时,Jquery表单提交无法工作
- 匹配,除非存在“转义”字符;必须联机和背靠背工作
- JS -画布从图像文件-工作仅与浏览器缓存存在
- 在jQuery中通过AJAX发送表单,然后保存在MySQL中,但不工作
- jQuery AJAX检查邮件是否存在于数据库中,但由于某些原因无法工作
- 当函数中存在多个时,javascript/DOM中的removeChild无法正常工作
- 检查图片是否存在,但url不能在所有浏览器中工作
- URL重定向基于输入,但如果输入URL不存在,则不重定向无法使PHP工作
- Css /javascript缓存在firefox(和其他浏览器)是如何工作的
- 在进行Javascript密集型工作时,将所有样式保存在CSS文件中有什么好处