MongoError:表达式 $in 恰好有 2 个参数。已传入 1 个

Arc*_*ane 3 mongodb-query aggregation-framework

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

    {
        "$expr": {
            "$not": {
                "$eq":{
                    "$and": [
                        {
                            "PrName": {
                                "$in": [
                                    "pname"
                                ]
                            }
                        },
                        {
                            "AccountId": {
                                "$in": [
                                    "34562",                      
                                    "88765",
                                    "87654",
                                    "12345"
                                ]
                            }
                        }
                    ]
                }
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

Val*_*jon 13

当您使用 时$expr运算符表达式语法会发生一些变化:

{ $in: [ <expression>, <array expression> ] }
Run Code Online (Sandbox Code Playgroud)
{
  "$expr": {
    "$not": {
      "$and": [
        {
          "$in": [
            "$PrName",
            [
              "pname"
            ]
          ]
        },
        {
          "$in": [
            "$AccountId",
            [
              "34562",
              "88765",
              "87654",
              "12345"
            ]
          ]
        }
      ]
    }
  }
}
Run Code Online (Sandbox Code Playgroud)