mongodb aggregate $match $group $sum $push $$ROOT

> db.task.aggregate([{$match: {"status": {$exists: false}}}, {$group: {_id: "$status", count: {$sum: 1}, result: {$push: "$$ROOT"}}}]).pretty()

> db.task.aggregate([{$match: {"status": {$exists: true}}}, {$group: {_id: "$status", count: {$sum: 1}, result: {$push: "$$ROOT"}}}]).pretty()

> db.task.aggregate([{$match: {"status": {$exists: false}}}, {$limit: 3}, {$group: {_id: "$status", count: {$sum: 1}, result: {$push: "$$ROOT"}}}]).pretty()

> db.task.aggregate([{$match: {"status": {$exists: true}}}, {$limit: 3}, {$group: {_id: "$status", count: {$sum: 1}, result: {$push: "$$ROOT"}}}]).pretty()

猜你喜欢

转载自lobin.iteye.com/blog/2432445