【发布时间】:2016-10-03 07:14:36
【问题描述】:
我尝试了这个 mongoose-query,但不知道为什么这种排序不起作用(在 stackoverflow 上找到了语法,所以不知道我又做错了什么)。 试图用 find 替换 exec,也不起作用。
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);
});
更新:数据看起来像这样:
[ { 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 发送多条消息。 这是输出
【问题讨论】: