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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分针网—每日分享:mongoose对查询结果进行排序相关的知识,希望对你有一定的参考价值。

 
 
前面的学习已经可以刷出数据了,不过通过循环取出来后,发现并不是按照想象中的按先后顺序列出来的,而是按照数据在数据库中存放的顺序刷出来的。
 
如图,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对查询结果进行排序的主要内容,如果未能解决你的问题,请参考以下文章

分针网——每日分享:登录之后,在其他页面怎么判断是否已经登录

分针网—每日分享:PHP开发几点安全问题

分针网——每日分享:Ajax数据返回格式问题解决

分针网—每日分享:js刷新页面方法大全

分针网——每日分享: jquery选择器的用法

分针网——每日分享:MySQL实现树的遍历