diff --git a/api/app/queries.js b/api/app/queries.js index 7fea42419ed356ce117673b721308775d2d57360..9869e6292d8a9245f487fd00aaeef59ebaf07a1d 100644 --- a/api/app/queries.js +++ b/api/app/queries.js @@ -119,3 +119,26 @@ exports.byAggregateCustomerId = (req, res) => { res.json(docs); }); } + + +exports.ordersAggregateByCustomer = (req, res) => { + + var id = Long.fromString(req.params.id); + console.log(id); + + //u.logReq(req); + db.collection('orders').aggregate([ + //{ $match: { 'customer.id': { $eq: id } }}, + { $group: { + _id : {id: "$customer.id", pseudo: "$customer.pseudo"}, + count: { $sum: 1}} + } + ]).toArray((err, docs) => { + if (err) { + console.log(err); + res.send(err); + } + console.log(docs); + res.json(docs); + }); +} \ No newline at end of file diff --git a/api/app/router.js b/api/app/router.js index 2f8cbfe6d6b48ec005381704787a3467cf62faec..e11973a29614e9b010482e781ad7e194bdd6c6ec 100644 --- a/api/app/router.js +++ b/api/app/router.js @@ -19,6 +19,8 @@ router.get('/pseudo-with-more-equal-bags/:number', queries.showPseudoOfOrdersBag router.get('/by-customer-id/:id', queries.byAggregateCustomerId); +router.get('/orders-by-customer/:id', queries.ordersAggregateByCustomer); + router.use((_, res) => res.status(404).send({ message: 'Route not found' })); module.exports = router;