如何在Meteor.js(MongoDB)中实现OR而非AND查询?
多条件OR查询的正确写法
现有卡片数据示例:
{ "_id":"111111111111", "title":"This is a title", "description": "Description", "assigned":true, "leader":false, "public":true }, { "_id":"222222222222", "title":"apple", "description": "banana", "assigned" : false, "leader" : false, "public" : true }, { "_id":"33333333333333", "title":"lemon", "description": "hello", "assigned":false, "leader":true, "public":false }
需要筛选出满足assigned: true OR leader: false的卡片(即_id为111111111111和33333333333333的条目),但当前使用的查询语句是AND逻辑:
{ "assigned": true, "leader": false }
该语句仅返回同时满足两个条件的结果,不符合需求。
正确的OR查询语句
使用MongoDB的$or操作符实现OR逻辑,语法如下:
{ "$or": [ { "assigned": true }, { "leader": false } ] }
$or接收一个条件数组,数组中的每个对象是独立的查询条件,只要满足其中任意一个条件的文档就会被匹配返回。
内容的提问来源于stack exchange,提问作者Happy1234
相关产品推荐
相关产品推荐

