码迷,mamicode.com
首页 > 编程语言 > 详细

分针网—每日分享:mongoose对查询结果进行排序

时间:2017-05-26 10:51:51      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:csdn   ram   object   this   width   ack   技术   his   line   

 
 
前面的学习已经可以刷出数据了,不过通过循环取出来后,发现并不是按照想象中的按先后顺序列出来的,而是按照数据在数据库中存放的顺序刷出来的。
 
如图,MongoDB存储数据并没有按照我添加数据的先后顺序,而是按照了author这个字段来的,因此前台刷出的数据也是安装author来的。
技术分享
 
那么如何让前台通过时间来排序呢?
 
解决方法如下:
 
MyModel.find(condition, fields, {sort: [[‘_id‘, -1]]}, callback);
注意 sort 的写法,上例将查询结果按时间倒序,因为 MongoDB 的 _id 生成算法中已经包含了当前的时间,所以这样写不仅没问题,也是推荐的按时间排序的写法。
不过这个find()方法如果要添加第三个参数进行排序的话,那么第二个条件也不能省略,如过没有,就必须写成null,如:
 
MyModel.find({name:‘admin‘}, null, {sort: [[‘_id‘, -1]]}, callback);
 
另外一种写法如下:
MyModel.find({}).sort({‘_id‘:-1}).limit(6).exec(function(err,docs){})
 
 
 
 
学习更多IT知识 加群:272292492
技术分享

 

分针网—每日分享:mongoose对查询结果进行排序

标签:csdn   ram   object   this   width   ack   技术   his   line   

原文地址:http://www.cnblogs.com/hai1314/p/6906943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!