在展开之前检查数组类型

时间:2013-08-29 04:49:19

标签: mongodb mongo-java mongojs

我有一份具有以下结构的文件

{testfields:[{ “为test_id”:1, “TEST_NAME”: “XXXX”}]},

但是,我的应用程序不会判断“testfield”是数组还是普通对象,现在如果我在聚合查询中应用“$ unwind”并且字段类型不是“mongodb”引发错误,则无法解除。我想知道他们是否可以检查字段是否为类型数组而不是应用展开,否则视为正常对象。

1 个答案:

答案 0 :(得分:0)

我认为this可以帮到你。

在使用unwind之前,请尝试使用match来过滤testfields字段是一个数组的文档:

$match: { $where : "Array.isArray(this.testfields)" }

然后,您可以使用unwind而不会出错。