El reto:
Dentro del operador “geoNear” utilice query para filtrar lo que estos buscando.
[
{
$geoNear: {
near: {
type: "Point",
//coordinates: [-73.95553399775919, 40.79964571639598],
coordinates: [-155.98514, 19.61952]
},
distanceField: "distancia",
maxDistance: 30000000,
query: {neighborhood_overview:{$regex:"^[oO]+[cC]+[a-zA-Z]+",$options:'i'}},
//includeLocs: "",
//num: number,
spherical: true,
},
},
{
$match:{
beds:{$ne:0}
}
},
{
$project: {
distancia: 1,
suburb: "$address.suburb",
government_area:"$address.government_area",
precioxCama:{
$divide:["$price", "$beds"]
}
}
},
{
$group:{
_id: {
$cond:{
if:{
$lte:["$distancia", 2000]
},
then:"menos de 2K",
else:"mas de 2k"
}
},
suburb:{"$first":"$suburb"},
government_area: {"$first":"$government_area"},
mediaxCama:{
$avg: "$precioxCama"
}
}
}
]
#Resultado
_id: "mas de 2k"
suburb: ""
government_area: "Matosinhos e Leça da Palmeira"
mediaxCama: 21.25
_id: "menos de 2K"
suburb: "Kailua/Kona"
government_area: "North Kona"
mediaxCama: 55.00
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?