From cb9335db355d89dcb69872e03f6592f4b64929ec Mon Sep 17 00:00:00 2001 From: Brad Rumack Date: Sun, 1 Mar 2020 22:28:21 -0700 Subject: [PATCH 1/3] update find drivers query with new geo code --- muber/controllers/drivers_controller.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/muber/controllers/drivers_controller.js b/muber/controllers/drivers_controller.js index f93ab59..89f9a7a 100644 --- a/muber/controllers/drivers_controller.js +++ b/muber/controllers/drivers_controller.js @@ -4,10 +4,17 @@ module.exports = { index(req, res, next) { const { lng, lat } = req.query; - Driver.geoNear( - { type: 'Point', coordinates: [parseFloat(lng), parseFloat(lat)] }, - { spherical: true, maxDistance: 200000 } - ) + Driver.find({ + geometry: { + $nearSphere: { + $geometry: { + type: "Point", + coordinates: [parseFloat(lng), parseFloat(lat)] + }, + $maxDistance: 200000 + } + } + }) .then(drivers => res.send(drivers)) .catch(next); }, From 90593d4610e4089047c3b6a0aa54d2aaa006497d Mon Sep 17 00:00:00 2001 From: Brad Rumack Date: Sun, 1 Mar 2020 22:29:54 -0700 Subject: [PATCH 2/3] update object path to driver email value in response --- muber/test/controllers/drivers_controller_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/muber/test/controllers/drivers_controller_test.js b/muber/test/controllers/drivers_controller_test.js index 28d16b2..974fe1d 100644 --- a/muber/test/controllers/drivers_controller_test.js +++ b/muber/test/controllers/drivers_controller_test.js @@ -78,7 +78,7 @@ describe('Drivers controller', () => { .get('/api/drivers?lng=-80&lat=25') .end((err, response) => { assert(response.body.length === 1); - assert(response.body[0].obj.email === 'miami@test.com'); + assert(response.body[0].email === 'miami@test.com'); done(); }); }); From 0f14b250a0a394e023fe83fc205ae2776abd8440 Mon Sep 17 00:00:00 2001 From: Brad Rumack Date: Sun, 1 Mar 2020 22:31:36 -0700 Subject: [PATCH 3/3] Update ensureIndex syntax to correctly index drivers by geometry value in driver model --- muber/test/test_helper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/muber/test/test_helper.js b/muber/test/test_helper.js index 0f9637c..983cb3d 100644 --- a/muber/test/test_helper.js +++ b/muber/test/test_helper.js @@ -12,7 +12,7 @@ before(done => { beforeEach(done => { const { drivers } = mongoose.connection.collections; drivers.drop() - .then(() => drivers.ensureIndex({ 'geometry.coordinates': '2dsphere' })) + .then(() => drivers.ensureIndex({ 'geometry': '2dsphere' })) .then(() => done()) .catch(() => done()); });