Arrays 如何将$not逻辑查询运算符与其他比较查询运算符组合,以获得更具体的结果?
这是我的文档查询后的结果Arrays 如何将$not逻辑查询运算符与其他比较查询运算符组合,以获得更具体的结果?,arrays,mongodb,meteor,mongodb-query,Arrays,Mongodb,Meteor,Mongodb Query,这是我的文档查询后的结果 players.find().fetch(): 查询后: players.find( { Winner: { $not: { $gte: 1 } } } ).fetch() Yeilds: {name:'Anderson', sessionIDz:"utFmxmRioDiZdmwGJ"}, {name:'john', sessionIDz:"utFmxmRioDiZdmwGJ"}, {name:'jessica', sessionIDz:"FmwgXvxHZmuAwS
players.find().fetch():
查询后:
players.find( { Winner: { $not: { $gte: 1 } } } ).fetch()
Yeilds:
{name:'Anderson', sessionIDz:"utFmxmRioDiZdmwGJ"},
{name:'john', sessionIDz:"utFmxmRioDiZdmwGJ"},
{name:'jessica', sessionIDz:"FmwgXvxHZmuAwSzpe"},
{name:'Liz', sessionIDz:"FmwgXvxHZmuAwSzpe"}
这很好。但是现在,我如何进一步缩小包含sessionIDz字段的所有文档的收益率:“FmwgXvxHZmuAwSzpe”,如下所示:
{name:'jessica', sessionIDz:"FmwgXvxHZmuAwSzpe"},
{name:'Liz', sessionIDz:"FmwgXvxHZmuAwSzpe"}
是否有一种方法可以将$not逻辑查询运算符与其他比较查询运算符结合使用,以实现此收益率
我尝试了下面的查询,但未能获得所需的结果:
player.find({Winner: { $not: { $gte: 1 }}}, {sessionIDz: { $eq:"FmwgXvxHZmuAwSzpe" } }).fetch()
非常感谢您的帮助。查询json必须是find函数的第一个参数。您已经将查询拆分为两个单独的对象,这就是为什么无法获得所需结果的原因 请尝试以下操作:
player.find( { Winner: { $not: { $gte: 1 } }, sessionIDz: "FmwgXvxHZmuAwSzpe" }).fetch()
而且,不大于或等于=小于。因此,以下内容也将实现您的目标
player.find( { Winner: { $lt: 1 }, sessionIDz: "FmwgXvxHZmuAwSzpe" }).fetch()
您需要在同一查询对象中包含该条件。因为逻辑不大于或等于
{ "$not": { "$gte": 1 } }
与小于相同
{ "$lt": 1 }
您的查询可以简化为
player.find({
"Winner": { "$lt": 1 },
"sessionIDz": "FmwgXvxHZmuAwSzpe"
}).fetch()
或者,如果要查询Winner
字段不存在的位置,则查询为
player.find({
"Winner": { "$exists": false },
"sessionIDz": "FmwgXvxHZmuAwSzpe"
}).fetch()
@SirBT有什么特别的原因让你不接受这个答案吗?知道这一点可以让我在将来更好地确定我的答案,或者解决任何你可能误解的问题。我的印象是,一个人可以接受两个或更多的答案。对此我非常抱歉。你的答案框架很好,根本不需要改进@SirBT没关系,只有一个答案可以接受
player.find({
"Winner": { "$exists": false },
"sessionIDz": "FmwgXvxHZmuAwSzpe"
}).fetch()