我有一个包含3个字段的集合,每个字段都有数字' 1'作为数据。我想算一下有多少' 1'存在于所有3个领域的集合中。我有这样的代码:
return collection.find({}, {fields: {f1:1, f2:1, f3:1}}).count();
它应该返回3,因为只有3' 1'在集合中,它返回10.我不知道为什么,请帮助。
答案 0 :(得分:1)
您的查询返回3个字段,而不是测试其值。尝试:
{{1}}
答案 1 :(得分:0)
你试图找出任何一个字段中是否有1,还是所有3个字段中都有1个? 你在所有领域都说过1,因此Michel的回答是正确的。
如果您想要3个字段中的任何一个,则需要
return collection.find({$or: [{f1:1}, {f2:1}, {f3:1}]}).count();