首页 > 解决方案 > 使用mongoose在mongodb中按升序和降序对多个字段进行排序

问题描述

我有一些来自 mongodb 的字段,我试图按 asc 或 desc 顺序排序,但是在进行查询后得到的返回值相当不一致。我已经浏览了文档并尝试根据文档中的方式调整我的方法。

我试过这个

  sort({"email": -1,
    "dob": -1,
    "website": -1,
    "lastName": -1,
    "firstName": -1,}) 

sort("-firstName, -lastName , -email , -dob , -website")适用于降序,但它仅适用于一个字段。例如 lastName并为其余部分返回不一致的数据。

当尝试按升序排序时,这也是完全相同的行为。

我做错了什么?

标签: mongodbsortingmongoosemongodb-query

解决方案


根据 mongo 官方文档,您需要在排序中添加一个包含唯一唯一值的字段。

https://docs.mongodb.com/manual/reference/operator/aggregation/sort/

不要忘记添加所需的索引以避免性能问题。


推荐阅读