【发布时间】:2020-05-28 09:37:53
【问题描述】:
我有这样的文件:
{
_id:'5e2b8a2065318f95166deedc'
expenses:[{amount:100},{amount:200}]
},
{
_id:'5e2b8a2065318f95166deedc'
expenses:[]
},
{
_id:'5e2b8a2065318f95166deedc'
expenses:[{amount:400},{amount:600}]
}
我需要用聚合查询返回 WITH EXPENSES 字段,即空数组的费用不应该返回到管道的下一步
这是我迄今为止尝试过的:
Exps.aggregate([
{$match: {"id":ObjectId(myId)}},
{$group:{
_id:'$_id',
expenses:{$last:"$expenses"},
}}
])
但这会返回所有三个子文档,包括空的。我怎样才能获得第一个和第三个子文档(根据我的示例),以便我可以将它们传递给管道的下一步?
【问题讨论】:
-
@DanielF 您能否使用您上面提供的两个链接向我展示如何处理我上面的问题的实际代码?
-
@Amani : 这已经回答了,请在那里查看..
-
@whoami 我已经检查过了,它确实解决了我的问题。谢谢
标签: mongodb express aggregation-framework