1
我有一個集合tickets
包含與方案的文檔:MongoDB3.2。聚合,取出處理的文檔
{_id: ObjectID, date: ISODate, cost: Number}
下面聚集在收集完成:
db.tickets.aggregate([
{$match: {date: {$gte: ISODate("2016-02-01")}}},
{$group:{ _id:"$date", totalCost: {$sum: "$cost"}, totalTickets: {$sum: 1}}}
], function(err,result) {
// ...
}
我想隨機除去20%的來自聚合的文檔意味着模擬票據收集包含的文檔少於現實的20%的情況。
我該怎麼辦?
您正在使用哪個MongoDB服務器版本?如果是3.2,則可以使用['$ sample'](https://docs.mongodb.org/manual/reference/operator/aggregation/sample/)運算符從其輸入中隨機選擇指定數量的文檔 – chridam
感謝您的快速重播。你可以發佈這個答案。 – rlib
這個解決方案非常好,但是我想從2016-02-10開始的文檔中有80%是在聚合中指定的日期之後。有沒有辦法做到這一點? – rlib