CNode

mongoose查询数据顺序问题

问答
Jj60017268发布于11 年前最后回复11 年前4 回复6973 浏览0 收藏

本人新学mongoose,不是很了解mongoose。 现在有个需要:查询最近插入数据库的48条数据,然后按照时间顺序显示。 我的实现是先按照时间逆序查询,然后再把查询结果使用reverse方法反转;或者返回后在前端reverse一次。 具体代码:

Sysmonitor.find().sort('-createdate').limit(48).exec(function (err, sysmonitors) {
            res.json(sysmonitors.reverse());
    });

这样性能有影响,不知道有没有更好的解决方案?

查看回复

回复 (4)

Z
ZhangHang-z#1·11 年前

sort('field', -1)

J
j60017268#2·11 年前

我已经加了排序:sort('-createdate') 之前做过尝试,两次sort:先逆序,然后正序,结果是不对的: Sysmonitor.find().sort('-createdate').limit(48).sort('createdate').exec()

Y
ystyle#3·11 年前

你把数据查出来再排序不行啊...又不差这一点

J
j60017268#4·11 年前

我看了一下时间,查询出来再排序,本地环境http响应大概会增加10ms。如果上线后考虑网络因素,这个时间差会存在放大效应。

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