正如您可以在此处测试的那样,指定{"key": {$type: "string"}}
返回具有key
字段的数组类型的文档,其中包含字符串。
在示例中,我预计查询应该只返回{"key": "b"}
。如何获得仅在string
类型的密钥?我在文档中找不到。
这很愚蠢。当我将查询更改为:
"key": {
$type: "string",
$not: {
$type: "array"
}
}
它按预期工作...
文档解释:
对于 field 为数组的文档,$type 返回至少有一个数组元素与传递给 $type 的类型匹配的文档。