From a5c008c46a58c4f090dad9376e3ebf1d4077a2df Mon Sep 17 00:00:00 2001 From: Besmir <besmir.silka@gmail.com> Date: Wed, 12 Jun 2019 18:26:01 +0200 Subject: [PATCH] Implemented aggregate --- api/app/queries.js | 22 +++++++++++++++++++++- api/app/router.js | 2 ++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/api/app/queries.js b/api/app/queries.js index 8750916..7fea424 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 5eec62c..2f8cbfe 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; -- GitLab