假设您要使用mongoexport / import更新集合(出于here的解释原因。您应确保集合中的类型是JSON安全的。
如何使用聚合框架确定集合的所有文档中使用的所有类型,包括数组元素中使用的所有类型?
答案 0 :(得分:1)
您可以将$objectToArray
与$map
和$type
结合使用。
我认为这样应该可以帮助您入门:
db.collection.aggregate([
{ $project: {
types: {
$map: {
input: { $objectToArray: "$$CURRENT" },
in: { $type: [ "$$this.v" ] }
}
}
}
}
])
请注意,它不是递归的,也不会深入到数组的值中,因为我也不确定要深入多少个级别,甚至不需要输出什么。因此,希望这对您来说是个好的开始。
您可以看到包含各种类型working here的输入的聚合。