2016-06-03 2 views
0

Я пробовал этот 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. Это выход

ответ

0

.sort ({_ ID: -1})

Используется autocreated _id, так как он имеет встроенную дату. Работал потом.

0

Запрос на сортировку несуществующего имущества date:

.sort({ date : -1 }) 

Вместо этого, попробуйте следующее:

.sort({ 'message.timestamp' : -1 }) 
+0

Пробовал, не работает ни печально. Чувствует, что он получает параметр, но не сортирует его или не перезагружает новый массив. – LinkM

+0

Чтобы быть уверенным: это _intentional_, что у вас есть несколько документов с тем же свойством 'id', правильно? Можете ли вы добавить список результатов (отредактированных или сжатых, просто показывая свойство 'message' будет достаточно) из запроса к вашему вопросу? – robertklep

+0

Обновлено для лучшего обзора, оценивая вашу помощь. – LinkM

Смежные вопросы