MongoDB展开空数组而不忽略输入文档

时间:2014-11-20 16:51:04

标签: mongodb aggregation-framework

在这种情况下,可以省略How do I keep documents in aggregation with $unwind聚合但是如果你有一个更复杂的情况需要聚合框架呢?你怎么能保留这些文件并仍然解除那些有非空名单的人?

我的案例涉及具有多个阶段的聚合管道(匹配,展开,项目,匹配,组,...),我根本无法回退到普通"匹配"因为那些嵌套数组需要以报表的形式呈现(JasperReports)。我首先想到这个$unwind empty array将解决我的问题,但它不会因为这个数组需要为空,因为我之后将这些值分组到JasperReport中并按原样显示它们。

我希望我足够清楚。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

从MongoDb 3.2开始,$unwind运营商支持preserveNullAndEmptyArrays:<boolean>

因此,当preserveNullAndEmptyArrays:true时,它还将包含没有任何数据或空数据的值。

有关更多信息,请访问-https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/#document-operand-with-options