Add pipeline for finding station by distance
Signed-off-by: Fred Boniface <fred@fjla.uk>
This commit is contained in:
parent
6cfc42f22e
commit
e1fc4b1db2
42
src/utils/ldbPipeline.utils.ts
Normal file
42
src/utils/ldbPipeline.utils.ts
Normal file
@ -0,0 +1,42 @@
|
||||
export function findStationsByDistancePipeline(count: number) {
|
||||
return [
|
||||
{
|
||||
'$geoNear': {
|
||||
'near': {
|
||||
'type': 'Point',
|
||||
'coordinates': [
|
||||
-5.149929, 58.350661
|
||||
]
|
||||
},
|
||||
'distanceField': 'distance'
|
||||
}
|
||||
}, {
|
||||
'$limit': count
|
||||
}, {
|
||||
'$addFields': {
|
||||
'miles': {
|
||||
'$divide': [
|
||||
{
|
||||
'$round': {
|
||||
'$multiply': [
|
||||
{
|
||||
'$divide': [
|
||||
'$distance', 1609.34
|
||||
]
|
||||
}, 4
|
||||
]
|
||||
}
|
||||
}, 4
|
||||
]
|
||||
}
|
||||
}
|
||||
}, {
|
||||
'$project': {
|
||||
'_id': 0,
|
||||
'3ALPHA': 1,
|
||||
'NLCDESC': 1,
|
||||
'miles': 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user