在这种情况下,可以省略How do I keep documents in aggregation with $unwind聚合但是如果你有一个更复杂的情况需要聚合框架呢?你怎么能保留这些文件并仍然解除那些有非空名单的人?
我的案例涉及具有多个阶段的聚合管道(匹配,展开,项目,匹配,组,...),我根本无法回退到普通"匹配"因为那些嵌套数组需要以报表的形式呈现(JasperReports)。我首先想到这个$unwind empty array将解决我的问题,但它不会因为这个数组需要为空,因为我之后将这些值分组到JasperReport中并按原样显示它们。
我希望我足够清楚。 有什么想法吗?
答案 0 :(得分:0)
从MongoDb 3.2开始,$unwind
运营商支持preserveNullAndEmptyArrays:<boolean>
。
因此,当preserveNullAndEmptyArrays:true
时,它还将包含没有任何数据或空数据的值。
有关更多信息,请访问-https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/#document-operand-with-options