Mongodb指定类型;“字符串”;“返回”;数组";田野也是如此

Mongodb指定类型;“字符串”;“返回”;数组";田野也是如此,mongodb,Mongodb,正如您可以测试的那样,指定{“key”:{$type:“string”}将返回在数组类型中包含字符串的key字段的文档 在这个示例中,我希望查询应该只返回{“key”:“b”}。如何获取仅为字符串类型的键?我在地图上找不到。这太傻了。当我将查询更改为: "key": { $type: "string", $not: { $type: "array" } } 它按预期工作…解释: 对于字段为数组的文档,$type返回其中至少有一个数组元素与传递给$ty

正如您可以测试的那样,指定
{“key”:{$type:“string”}
将返回在数组类型中包含字符串的
key
字段的文档


在这个示例中,我希望查询应该只返回
{“key”:“b”}
。如何获取仅为
字符串类型的键?我在地图上找不到。

这太傻了。当我将查询更改为:

  "key": {
    $type: "string",
    $not: {
      $type: "array"
    }
  }
它按预期工作…

解释:

对于字段为数组的文档,$type返回其中至少有一个数组元素与传递给$type的类型匹配的文档


是的,我在三次检查时发现了它:(这是一个方便的函数,允许数组和单个值在文档中互换使用。