Я пробовал этот mongoose-запрос и понятия не имею, почему этот вид не работает (найден синтаксис в stackoverflow, поэтому нет идеи, что я снова сделал неправильно). Пытался заменить exec с помощью find, тоже не работает.Mongoose find-query: Сортировка JSON-Array по дате
model.find({'id':req.params.id}).sort({date:-1}).limit(10).exec(function(err, jsonarray){...};
Моя схема и jsondata такова:
var messageSchema = new Schema({
id: Number,
name: Schema.Types.Mixed,
type: Schema.Types.Mixed,
message:
{
messagetype: String,
timestamp: Number,
messagestatus: String
}
}, {collection: 'test'});
В противном случае можно было сортировать его message.timestamp, но я понятия не имею, насколько .. Спасибо заранее.
Даже попробовал это так .. Я застрял.
json.sort(function(a, b) {
return parseFloat(a.message.timestamp) - parseFloat(b.message.timestamp);
});
Update: Data выглядит следующим образом:
[ { id: 215456740,
name: 'Max',
type: 'freezer',
_id: 57513933c25d06630a3ef887,
__v: 0,
message:
{ messagetype: 'Standard message',
timestamp: 1464940851375,
messagestatus: 'red'
}
},
{ id: 215456740,
name: 'Tobi',
type: 'center',
_id: 5751393bc25d06630a3ef888,
__v: 0,
message:
{ messagetype: 'Standard message',
timestamp: 1464940859265,
messagestatus: 'white'
}
}]
Да, это преднамеренные, несколько сообщений для одного Id. Это выход
Пробовал, не работает ни печально. Чувствует, что он получает параметр, но не сортирует его или не перезагружает новый массив. – LinkM
Чтобы быть уверенным: это _intentional_, что у вас есть несколько документов с тем же свойством 'id', правильно? Можете ли вы добавить список результатов (отредактированных или сжатых, просто показывая свойство 'message' будет достаточно) из запроса к вашему вопросу? – robertklep
Обновлено для лучшего обзора, оценивая вашу помощь. – LinkM