首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合$in和$or芒果搜索操作

混合$in和$or芒果搜索操作
EN

Stack Overflow用户
提问于 2015-03-12 23:14:44
回答 1查看 169关注 0票数 0

各位,我正在尝试混合$all$nin MongoDB2.6查询参数。是否允许以这种方式将$or$all$nin混合使用?

从本质上讲,我们在这里要检索的是一些文档,这些文档要么有['foo','bar']. OR,没有['baz']

查询:

代码语言:javascript
复制
{
    "_type": {
        "$in": [
            "A"
        ]
    },
    "tags": {
        "$or": [
            {
                "$all": [
                    "foo","bar"
                ]
            },
            {
                "$nin": [
                    "baz"
                ]
            }
        ]
    }
}

错误:

代码语言:javascript
复制
HCError: (HCError) error converting cursor to array | caused by: MongoError: Can't canonicalize query: BadValue unknown operator: $or
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-12 23:29:55

错误的原因是,$or不对它的父域的字段执行操作,而是期望整个“查询文档”作为它的子文档:

代码语言:javascript
复制
{
    "_type": {
        "$in": [
            "A"
        ]
    },
    "$or": [
        { "tags": { "$all": [ "foo","bar"] } },
        { "tags": { "$nin": [ "baz" ] } }
    ]
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29022109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档