diff --git a/api/app/queries.js b/api/app/queries.js index 87509165544c7a096969a5203f2b4b2930fb6e05..7fea42419ed356ce117673b721308775d2d57360 100644 --- a/api/app/queries.js +++ b/api/app/queries.js @@ -2,6 +2,8 @@ require('dotenv').config(); const u = require('./utils'); const MongoClient = require('mongodb').MongoClient; +var Long = require('mongodb').Long; + const url = process.env.DB_URL; const dbName = process.env.DB_NAME; @@ -98,4 +100,22 @@ exports.showPseudoOfOrdersBagsGte = (req, res) => { console.log(docs); res.json(pseudo); }); -} \ No newline at end of file +} + +exports.byAggregateCustomerId = (req, res) => { + + var id = Long.fromString(req.params.id); + console.log(id); + + //u.logReq(req); + db.collection('orders').aggregate([ + { $match: { 'customer.id': { $eq: id } } } + ]).toArray((err, docs) => { + if (err) { + console.log(err); + res.send(err); + } + console.log(docs); + res.json(docs); + }); +} diff --git a/api/app/router.js b/api/app/router.js index 5eec62cd1ee44a474c6b81b4f03e1ad4be438dcb..2f8cbfe6d6b48ec005381704787a3467cf62faec 100644 --- a/api/app/router.js +++ b/api/app/router.js @@ -17,6 +17,8 @@ router.get('/by-counting-bags/:number', queries.countOrdersByBags); router.get('/pseudo-with-more-equal-bags/:number', queries.showPseudoOfOrdersBagsGte); +router.get('/by-customer-id/:id', queries.byAggregateCustomerId); + router.use((_, res) => res.status(404).send({ message: 'Route not found' })); module.exports = router;