【发布时间】:2016-08-15 09:08:54
【问题描述】:
这是关于 stackoverflow 的一个非常相似的问题,但由于某种原因这不起作用。我花了很多时间都没有成功。
这是我的收藏设置
{
"_id" : ObjectId("5715acfcf1dbdc7c0ae94379"),
"users":[ObjectId("570d2308ba5bc6842242e881"),
ObjectId("570d7e4b369ac0c525e98331")
],
"messages" : [
{
"user" : ObjectId("570d2308ba5bc6842242e881"),
"message" : NumberInt(0),
"readInd" : "N",
"createDate" : ISODate("2016-04-19T03:59:12.587+0000"),
"_id" : ObjectId("5715ad10f1dbdc7c0ae94396")
},
{
"user" : ObjectId("570d2308ba5bc6842242e881"),
"message" : NumberInt(1),
"readInd" : "N",
"createDate" : ISODate("2016-04-19T04:11:10.541+0000"),
"_id" : ObjectId("5715afdef36f23a10ad12348")
},
{
"user" : ObjectId("570d2308ba5bc6842242e881"),
"message" : NumberInt(2),
"readInd" : "N",
"createDate" : ISODate("2016-04-19T04:11:11.756+0000"),
"_id" : ObjectId("5715afdff36f23a10ad12352")
}
]
}
这是我使用猫鼬的代码截图
var objId = new ObjectID("5715acfcf1dbdc7c0ae94379");
chatModel.aggregate([
{ "$match": { "users": {'$in':[objId]}} },
{
"$project": {
"messages":1
}
}
,{"$sort": {"messages.createDate": -1} }
],function(err,records) {
if (err) {
return res.json({status: false, errCode: 900, errMsg: err});
}
res.json({status:true,resData:records}) ;
});
谢谢,
【问题讨论】:
-
那么究竟什么是“不工作”?你预计会发生什么?
-
@NeilLunn:结果按日期排序
标签: node.js mongodb sorting mongoose aggregation-framework