0
我试图通过类型根据他们的状态请求总数的返回:多条件求和
- 如果没有状态设置,请求应加
requested
- 如果状态是下令,请求应加
ordered
如果状态赶到,请求应加
arrived
caseRequest.aggregate([{ $group: { _id: "$product", suggested: { $sum: { $cond: [{ $ifNull: ["$status", true] }, 1, 0 ]} }, ordered: { $sum: { $cond: [{ $eq: ["$status", "ordered"] }, 1, 0 ] } }, arrived: { $sum: { $cond: [{ $eq: ["$status", "arrived"] }, 1, 0 ] } } } }
但由于某些原因没有找到下令或任何请求状态到达。如果在数据库中,我有48请求,其中45无状态,2有序和1赶到时,它返回:
[
{
_id: "xxx",
suggested: 48,
ordered: 0,
arrived: 0,
},
...
]