0
/* 0 */
{
"_id" : ObjectId("5380c9e097632cee5b000007"),
"month" : "5",
"userid" : "53806aac12c75f4b51000001",
"__v" : 7,
"posts" : [{
"postid" : ObjectId("538185cae0c6b8666e000008"),
"ts" : ISODate("2014-05-25T05:55:22.976Z"),
"userid" : "53806aac12c75f4b51000001",
"name" : "BBB",
"text" : "b1",
}]
}
/* 1 */
{
"_id" : ObjectId("5380c80e97632cee5b000001"),
"month" : "5",
"userid" : "5380629ea3b31f864f000001",
"__v" : 24,
"posts" : [{
"postid" : ObjectId("538185b2e0c6b8666e000004"),
"ts" : ISODate("2014-05-25T05:54:58.703Z"),
"userid" : "5380629ea3b31f864f000001",
"name" : "AAA",
"text" : "a1",
}, {
"postid" : ObjectId("538185b7e0c6b8666e000006"),
"ts" : ISODate("2014-05-25T05:55:03.474Z"),
"userid" : "5380629ea3b31f864f000001",
"name" : "AAA",
"text" : "a2",
}, {
"postid" : ObjectId("538185d6e0c6b8666e00000a"),
"ts" : ISODate("2014-05-25T05:55:34.231Z"),
"userid" : "5380629ea3b31f864f000001",
"name" : "AAA",
"text" : "a3",
}]
}
这是我的数据。如何在MongoDB中对这些数据进行排序?
我想为'Ts'(数据)排序此数据。
我想,排序清单由 'posts.Ts' 这样的..
名称:AAA,文本= A3
名称:BBB,文本= B1
名称:AAA,文本= A2
名称: AAA,text = a1
但我不知道如何查询这个。请与我联系
这是我在Node和mongoose中的代码。
db.collection('walls', function(err, collection) {
collection.find(function(err, data) {
collection.aggregate(
{$match: {userid:userid}},
{$project: {posts: 1,_id:0}},
{$sort:{'posts.ts':1}},
{$unwind: "$posts"}
)}
...