首页 > 代码库 > 分针网—每日分享:mongoose对查询结果进行排序
分针网—每日分享:mongoose对查询结果进行排序
http://www.fenzhen.cc/id/177
前面的学习已经可以刷出数据了,不过通过循环取出来后,发现并不是按照想象中的按先后顺序列出来的,而是按照数据在数据库中存放的顺序刷出来的。
如图,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对查询结果进行排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。