mongodb排序多个字段
时间: 2023-07-04 14:27:41 浏览: 70
在 MongoDB 中可以使用 sort() 方法对一个或多个字段进行排序,sort() 方法接受一个排序规则对象作为参数。
下面是一个按照多个字段排序的示例:
假设我们有一个名为 "users" 的集合,其中包含以下数据:
```
{ "_id" : 1, "name" : "Alice", "age": 20, "score": 90 }
{ "_id" : 2, "name" : "Bob", "age": 25, "score": 85 }
{ "_id" : 3, "name" : "Charlie", "age": 22, "score": 95 }
{ "_id" : 4, "name" : "David", "age": 20, "score": 80 }
```
现在我们想按照年龄和分数进行排序,可以使用以下代码:
```
db.users.find().sort({age: 1, score: -1})
```
这将按照年龄升序排序,如果年龄相同则按照分数降序排序。
输出结果如下:
```
{ "_id" : 1, "name" : "Alice", "age": 20, "score": 90 }
{ "_id" : 4, "name" : "David", "age": 20, "score": 80 }
{ "_id" : 3, "name" : "Charlie", "age": 22, "score": 95 }
{ "_id" : 2, "name" : "Bob", "age": 25, "score": 85 }
```
注意,sort() 方法可以链式调用,因此可以按照需要排序的字段逐个添加排序规则。
阅读全文