Я разрабатываю небольшое веб-приложение NodeJS с использованием Mongoose для доступа к моей базе данных MongoDB. Упрощенная схема моей коллекции приводится ниже:Как определить функцию сортировки в Mongoose
var MySchema = mongoose.Schema({
content: { type: String },
location: {
lat: { type: Number },
lng: { type: Number },
},
modifierValue: { type: Number }
});
К сожалению, я не в состоянии сортировать полученные данные с сервера так, как это более удобно для меня. Я хочу сортировать результаты в соответствии с их расстоянием от заданной позиции (, местоположение), но с учетом функции модификатора с модификатором Value, который также рассматривается как вход.
То, что я намереваюсь сделать, написано ниже. Однако такого рода функции сортировки, похоже, не существуют.
MySchema.find({})
.sort(modifierFunction(location,this.location,this.modifierValue))
.limit(20) // I only want the 20 "closest" documents
.exec(callback)
Концентратор возвращает двойной.
До сих пор я изучал возможность использования функции $ mongoose $ close, но это, похоже, не сортирует, не допускает модификатор.
Поскольку я довольно новичок в node.js и mongoose, я могу принять совершенно неправильный подход к моей проблеме, поэтому я открыт для завершения редизайна моей логики программирования.
Спасибо заранее,