CNode

mongoose不支持排序?

Iiburning发布于12 年前最后回复12 年前8 回复7511 浏览0 收藏

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

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

查看回复

回复 (8)

J
jeremy16601#1·12 年前

直接根据_id 排序就可以

T
tulayang#2·12 年前

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

I
iburning#3·12 年前
引用 jeremy16601直接根据 id 排序就可以

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

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

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

H
hanzel21cn#5·12 年前

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

J
jiewenli#7·12 年前

######什么情况

N
njgzs#8·12 年前

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

参与回复
登录后即可参与回复。登录