我有这个运行
的mongoose查询db.accounts.aggregate([{ $unwind: "$Publishers" }, { $group: { _id: "$Profile._id", reachTotal: { $sum: "$Publishers.reach" }, Publishers: { $push: "$Publishers" }, Profile: { $first: "$Profile" } } }, { $sort: { reachTotal: 1 } }])
它工作正常,但问题是有些记录没有'$ Publishers.reach'。 Mongoose不返回那些总和为null,undefined或0的记录。有没有办法让mongoose返回它们?
答案 0 :(得分:2)
你必须告诉mongodb以cond语句或ifNull语句的形式做什么,具体取决于你的文档结构。 http://docs.mongodb.org/manual/reference/operator/aggregation/cond/ http://docs.mongodb.org/manual/reference/operator/aggregation/ifNull/
...
reachTotal: { $sum: { $ifNull: ["$Publishers.reach", 0] } }