【发布时间】:2018-10-14 22:52:51
【问题描述】:
我正在尝试解决在 Sql Server 中需要公用表表达式或子查询的问题。
我有一个名为 Invoice_Details 的集合。每个文档都有一个 InvoiceID、CustomerID、TransactionDate 和 TransactionAmount 字段。
我要做的是取回当 TransactionAmount 聚合时不等于零的所有文档。
我正在分组如下:
db.Invoice_Details.aggregate(
[
{
$group:
{
_id: { InvoiceID: "$InvoiceID"},
Balance: { $sum: "$TransactionAmount"}
}
},
{ $match: { Balance: { $ne: 0 } } }
]
)
这会产生
{
"_id" : {
"InvoiceID" : "234904"
},
"Balance" : 182.67
}
.... 数百个额外的文档,非常棒。
我现在要做的是获取聚合中返回的所有 invoice_details 文档。
在 Sql Server 中,我会重新加入公用表表达式/子查询的结果,但我不确定如何(如果?)我可以做到这一点 mongo。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework