MongoError:表达式 $in 正好需要 2 个参数.1个被通过 [英] MongoError: Expression $in takes exactly 2 arguments. 1 were passed in

查看:32
本文介绍了MongoError:表达式 $in 正好需要 2 个参数.1个被通过的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  • 以下是我的查询:在执行下面的查询时得到 mongoerror :表达式 $in 恰好需要 2 个参数.1个被传入.我正在使用 $in 比较运算符

  • below is my query: while executing below query getting mongoerror : Expression $in takes exactly 2 arguments. 1 were passed in. i am using $in Comparison operator

{
    "$expr": {
        "$not": {
            "$eq":{
                "$and": [
                    {
                        "PrName": {
                            "$in": [
                                "pname"
                            ]
                        }
                    },
                    {
                        "AccountId": {
                            "$in": [
                                "34562",                      
                                "88765",
                                "87654",
                                "12345"
                            ]
                        }
                    }
                ]
            }
        }
    }
}

推荐答案

当你使用 $expr 时,运算符表达式 语法稍有变化:

When you use $expr, the operator expressions syntax changes a little:

{ $in: [ <expression>, <array expression> ] }

<小时>

{
  "$expr": {
    "$not": {
      "$and": [
        {
          "$in": [
            "$PrName",
            [
              "pname"
            ]
          ]
        },
        {
          "$in": [
            "$AccountId",
            [
              "34562",
              "88765",
              "87654",
              "12345"
            ]
          ]
        }
      ]
    }
  }
}

这篇关于MongoError:表达式 $in 正好需要 2 个参数.1个被通过的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆