我有一份具有以下结构的文件
{testfields:[{ “为test_id”:1, “TEST_NAME”: “XXXX”}]},
但是,我的应用程序不会判断“testfield”是数组还是普通对象,现在如果我在聚合查询中应用“$ unwind”并且字段类型不是“mongodb”引发错误,则无法解除。我想知道他们是否可以检查字段是否为类型数组而不是应用展开,否则视为正常对象。
答案 0 :(得分:0)
我认为this可以帮到你。
在使用unwind
之前,请尝试使用match
来过滤testfields
字段是一个数组的文档:
$match: { $where : "Array.isArray(this.testfields)" }
然后,您可以使用unwind
而不会出错。