此Meteor代码需要通过检查是否返回游标来检查集合中是否存在某个文档,如果没有返回游标,则该文档不存在。但即使没有价值,它总是会返回真实的#34; alosh"对于集合中任何文档中的text
字段
。
为什么以及如何修复?感谢
if (myCollection.find({text: 'alosh'}, {limit: 1})) {console.log('found');}
修改
我没有使用colllection.findOne
的原因是我理解根据this post
答案 0 :(得分:1)
解决方案的想法:
您想要了解某个属性是否存在具有特定值的文档。你可以使用:
if(myCollection.findOne({text: 'alosh'})){
console.log("found");}
答案 1 :(得分:0)
添加点数。当光标本身返回时,光标始终是一个真值。你需要检查光标中包含的记录......
localhost:8080/profilename
因为没有返回的文档是0而0是假的,所以只应在找到文档时返回
答案 2 :(得分:0)
Mongo游标似乎与数组的行为相同,因为空游标(和空数组)的计算结果为true
。
所以!![] //true
和!!collection.find({text : "alosh"}) //true
。
但是collection.findOne({text : "alosh"})
会使if
失败 - 所以请改用