mongoose不支持排序?
发布于 10 年前 作者 iburning 6928 次浏览 最后一次编辑是 8 年前

原本想按照某个时间字段(Date类型)排序的,但不管我怎么写都不起作用 上网搜索了一下,貌似是有一些人遇到类似的问题 于是我将这个时间的valueOf()存放在另外一个字段中,不论存放成Number还是String都没有排序效果 在试了一下按照其他某个字段如年龄也不行,最用干脆用_id来排序也没效果 于是我崩溃了 有谁遇到过类似问题,最终怎么解决的?

我的mongoose 是3.8.12 mongo 是2.4.9 所有查询排序在mongo shell中是可以的

8 回复

直接根据_id 排序就可以

最有效的排序是数值,想时间排序,存储的时候可以设置一项存储当前时间距离标准时间的time值。 查询的时候,只要看time值大小和范围,速度会很快。

也可能是需要根据 年龄 或者 被点击数 这类字段来排序 更何况我也测试了用 _id 来排序,也没变化。。。

昨晚尝试过了,我增加了一个字段,把之前存放的时间值转化成一个数值型的保存在这个字段里 排序的时候以这个字段为依据,也是没有效果。。。

可以排序啊,你是不是写错了?

######什么情况

支持的 你是想写静态方法的吧 return this.find({}).sort({time: -1}).exec(cb);

回到顶部