MongoError: выражение $ in принимает ровно 2 аргумента. 1 прошли в - PullRequest
1 голос
/ 16 июня 2020
  • ниже мой запрос: при выполнении нижеприведенного запроса получение mongoerror: выражение $ in принимает ровно 2 аргумента. 1. Я использую $ в операторе сравнения

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

1 Ответ

0 голосов
/ 16 июня 2020

Когда вы используете $expr, синтаксис выражений операторов немного изменяется:

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

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