2

我编写了一个 MongoDB 管道,其中包含以下代码:

  {
    $eq: [
      {
        "$toLower": "HELLO"
      },
      "hello"
    ]
  }

这是Mongo Compass中的截图

蒙戈指南针

我期待它简单地返回 true,并且“$match”一切(现在)。最终我会"HELLO"用一个字段名等交换。

有谁知道我为什么会收到这个错误?

4

1 回答 1

1

$match 不接受原始聚合表达式。相反,使用$expr查询表达式在 $match 中包含聚合表达式。

https://docs.mongodb.com/manual/reference/operator/aggregation/match/index.html#pipe._S_match

$expr: {
    $eq: [
      {
        $toLower: "HELLO"
      },
      "hello"
    ]
}

聚合命令 Find 方法

于 2020-01-24T06:51:50.957 回答