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