Mongodb 指定类型“string”也会返回“array”字段

emr*_*rah 4 mongodb

正如您可以在此处测试的那样,指定{"key": {$type: "string"}}返回具有key数组类型字段且其中包含字符串的文档。

在示例中,我预计查询应该仅返回{"key": "b"}. 如何获取只有 类型的键string我在文档中找不到。

emr*_*rah 9

这很愚蠢。当我将查询更改为:

  "key": {
    $type: "string",
    $not: {
      $type: "array"
    }
  }
Run Code Online (Sandbox Code Playgroud)

它按预期工作...

  • 这是一个方便的函数,允许在文档中互换使用数组和单个值。 (2认同)