1
lichao 2013-11-28 07:51:50 +08:00
为什么不去看官方的 Manual
http://docs.mongodb.org/manual/reference/method/cursor.sort/ |
4
1to3 2013-11-28 11:16:34 +08:00 via Android
db.collection.find(criteria).sort({comment.datetime:-1})
猜的。 |
6
1to3 2013-11-28 14:02:18 +08:00 via Android
db.collection.find(criteria).sort({comment.datetime:-1}).limit(1) 这个?
|
7
1to3 2013-11-28 17:31:07 +08:00 via Android
@hiwljun find 或者findOne应该是不改变文档数据的,你说到的情况,已经对文档内部数据结构修改了,先update排好序再find,或者把comment放到另一个collection,或者就如你说的先查到数据再在应用层面去排序。
不好意思一开始没看明白你的意思。 |
8
hiwljun OP @1to3 嗯,find_one返回的是一个字典,所以不能使用sort(),update的时候好像不能排序。现在的解决方法还是使用应用层面去排序了。
|
9
mahone3297 2013-11-28 20:40:39 +08:00
@hiwljun 如果数据量很大,需要全拿出来在应用层去排序?那不是疯了?
当然,我也不懂mongodb。但是我猜应该是有排序吧? |
10
1to3 2013-12-04 11:21:32 +08:00 via Android 1
db.blog.aggregate({$unwind: "$comments"}, {$sort: {comments.datetime: -1}})
|