0
Я хочу сортировать данные дочернего объекта, замечание: они не являются населенным объектом.как сортировать с дочерним объектом в mongoose
Мой вопрос заключается в том, чтобы отсортировать f_fields объект с полем: f_position, что в дочернем объекте?
model.js
var e_formSchema = new mongoose.Schema({
f_id: Number,
f_name: String,
f_fields: [{
f_f_id:Number,
f_position: Number,
f_obligatory :Boolean,
}]
}
, {collection: 'forms'});
Пример данных
{
"f_id" : 3724,
"f_name" : "form 1",
"f_fields" : [
{
"f_f_id" : 64070,
"f_position" : 5,
"f_obligatory" : true,
},
{
"f_f_id" : 64071,
"f_position" : 6,
"f_obligatory" : true
},
{
"f_f_id" : 64204,
"f_position" : 1,
"f_obligatory" : true,
}
],
}
Результат хотел
{
"f_id" : 3724,
"f_name" : "form 1",
"f_fields" : [
{
"f_f_id" : 64204,
"f_position" : 1,
"f_obligatory" : true,
}
{
"f_f_id" : 64070,
"f_position" : 5,
"f_obligatory" : true,
},
{
"f_f_id" : 64071,
"f_position" : 6,
"f_obligatory" : true
}
],
}
Я хочу, чтобы отсортировать суб Объектами f_fields, там же объект
Я попробовал этот код
getForm:function (id, callback){
var model = require("forms");
//model
model .find({f_id:3724}, function(err, forms) {
forms.sort({'f_fields.f_position':1})
.exec(function(err, doc){
if (err) {
callback(err) ;
} else {
callback(doc) ;
}
});
});
},
Ошибка
has no method 'exec'
Спасибо Сэм, но я хочу в свою очередь, чтобы иметь 3 упорядоченные объекты к югу в одном объекте «f_fields» – user2285831
Это не представляется возможным непосредственно сортировать Вложенный массив с мангуста. Для этого вы можете пойти с поиском запроса, а затем выполнить сортировку по полученному результату. – Sam
Я пробовал скачать скрипт, как вы упомянули, но он возвращает ошибку, пожалуйста, посмотрите Сэм, спасибо. – user2285831