From 73ba4a4f0e03ba8aef14fcd8095d99e947d045c6 Mon Sep 17 00:00:00 2001 From: "fabio.ferreira3" <ffem@hcuge.ch> Date: Wed, 12 Jun 2019 22:18:04 +0200 Subject: [PATCH] add request 7 --- api/app/queries.js | 28 +++++++++++++++++++++------- api/app/router.js | 4 +++- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/api/app/queries.js b/api/app/queries.js index 9869e62..f813a53 100644 --- a/api/app/queries.js +++ b/api/app/queries.js @@ -107,7 +107,7 @@ exports.byAggregateCustomerId = (req, res) => { var id = Long.fromString(req.params.id); console.log(id); - //u.logReq(req); + u.logReq(req); db.collection('orders').aggregate([ { $match: { 'customer.id': { $eq: id } } } ]).toArray((err, docs) => { @@ -122,13 +122,8 @@ exports.byAggregateCustomerId = (req, res) => { exports.ordersAggregateByCustomer = (req, res) => { - - var id = Long.fromString(req.params.id); - console.log(id); - - //u.logReq(req); + u.logReq(req); db.collection('orders').aggregate([ - //{ $match: { 'customer.id': { $eq: id } }}, { $group: { _id : {id: "$customer.id", pseudo: "$customer.pseudo"}, count: { $sum: 1}} @@ -141,4 +136,23 @@ exports.ordersAggregateByCustomer = (req, res) => { console.log(docs); res.json(docs); }); +} + + +exports.ordersAggregateCAVendor = (req, res) => { + u.logReq(req); + db.collection('orders').aggregate([ + { $unwind: "$items" }, + { $group: { + _id: "$items.vendor", + ChiffreAffaire: { $sum: { $multiply: ["$items.finalprice", "$items.qty"]}} + }} + ]).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 e11973a..4111f14 100644 --- a/api/app/router.js +++ b/api/app/router.js @@ -19,7 +19,9 @@ 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.get('/orders-by-customer', queries.ordersAggregateByCustomer); + +router.get('/ca-vendors', queries.ordersAggregateCAVendor); router.use((_, res) => res.status(404).send({ message: 'Route not found' })); -- GitLab