Mongodb $unwind,删除具有空数组的元素

Mongodb $unwind,删除具有空数组的元素,mongodb,Mongodb,我想通过展开子文档数组并过滤数组中没有元素的结果来聚合文档。有没有办法找到子文档数组长度为0的元素并将其排除在聚合中?如果这是根文档中的一个字段,而不是要检查的子文档是否为空,您可以执行以下操作: {$match:{'$subdocument':{$gt:{}}}}, {$unwind:'$subdocument'} 为了便于参考,这里说明了另一种方法:@johnyhk如果这是根文档中的一个字段,而不是您希望检查的子文档为空或不为空,您可以执行以下操作: {$match:{'$subdocum

我想通过展开子文档数组并过滤数组中没有元素的结果来聚合文档。有没有办法找到子文档数组长度为0的元素并将其排除在聚合中?

如果这是根文档中的一个字段,而不是要检查的子文档是否为空,您可以执行以下操作:

{$match:{'$subdocument':{$gt:{}}}},
{$unwind:'$subdocument'}

为了便于参考,这里说明了另一种方法:@johnyhk

如果这是根文档中的一个字段,而不是您希望检查的子文档为空或不为空,您可以执行以下操作:

{$match:{'$subdocument':{$gt:{}}}},
{$unwind:'$subdocument'}

作为参考,这里说明了另一种方法:@JohnnyHK

是什么定义了空的子文档,也是文档中的字段?您想确定是空的还是子文档中的字段?在父文档上,有一个字段是子文档数组。我正在解开这个数组。是什么定义了一个空的子文档,也是文档中的字段。你想确定是空的还是子文档中的字段吗?在父文档中,有一个字段是子文档数组。我正在解开那个阵列。