Cuando intento ejecutar este código con otros objetos de agregación, falla al acercarme a los usuarios. El error que me da es MongoServerError: geo near acepta solo un argumento al consultar un punto GeoJSON. Campo extra encontrado: $maxDistance: 16093.4
Aquí está mi código cuando comete un error:
let aggregatePipeline = []; aggregatePipeline.push({ $geoNear: { near: { type: "Point", coordinates: [longitude, latitude], }, distanceField: "distance", spherical: true, maxDistance: radius, //minDistance: <number in meters>, you can also add minimum distance to this aggregation }, });aquí es donde ejecuto mi canalización:
const sellers= await Seller.aggregate(aggregatePipeline).exec();y aquí está el modelo para mi esquema de vendedor:
const sellerSchema = new mongoose.Schema({ user_id: { type: mongoose.Schema.Types.ObjectId, ref: "User", }, ..., location: { type: { type: String, default: "Point" }, coordinates: [], // ! <longitude, latitude> ex. coordinates [47, 23.224434] }, timestamp: { type: Date, default: Date.now, }, });Podría estar ejecutando $geoNear incorrectamente o tal vez pueda usar otro argumento.