diff --git a/package-lock.json b/package-lock.json index a6a2eb0..95069d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3138,12 +3138,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -4297,9 +4297,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" diff --git a/src/services/ldb.services.js b/src/services/ldb.services.js index 106efff..83dffcb 100644 --- a/src/services/ldb.services.js +++ b/src/services/ldb.services.js @@ -179,10 +179,11 @@ async function getReasonCode(code) { } async function getNearestStations(lat, long) { + logger.debug(`ldbService.getNearestStations: Fetching nearest stations`) let pipeline = findStationsByDistancePipeline(4, lat, long) try { - return await db.queryAggregate(pipeline) + return await db.queryAggregate("stations", pipeline) } catch (err) { logger.error(err, `ldbService.getNearestStations`) } diff --git a/src/utils/ldbPipeline.utils.ts b/src/utils/ldbPipeline.utils.ts index 29ecb12..258bcfb 100644 --- a/src/utils/ldbPipeline.utils.ts +++ b/src/utils/ldbPipeline.utils.ts @@ -1,11 +1,13 @@ -export function findStationsByDistancePipeline(count: number, latitude: number, longitude: number) { - return [ +export function findStationsByDistancePipeline(count: number, latitude: string, longitude: string) { + const numericLatitude = parseFloat(latitude) + const numericLongitude = parseFloat(longitude) + const pipeline = [ { '$geoNear': { 'near': { 'type': 'Point', 'coordinates': [ - longitude, latitude + numericLongitude, numericLatitude ] }, 'distanceField': 'distance' @@ -39,4 +41,7 @@ export function findStationsByDistancePipeline(count: number, latitude: number, } } ] + + //console.log(JSON.stringify(pipeline)) + return pipeline } \ No newline at end of file