如何在 mongoDb 中按多个字段排序

Posted

技术标签:

【中文标题】如何在 mongoDb 中按多个字段排序【英文标题】:How can i sort by more than one field in mongoDb 【发布时间】:2021-11-03 01:34:27 【问题描述】:

我的问题是,有没有办法在同一个 mongodb 查询中按多个字段排序?在这种情况下,如果我以 asc 顺序获取 lastName,我是否也可以同时以 asc 顺序获取电子邮件。我将附上一个链接到 mongo 游乐场,我在其中插入了一些文档以便于演示。请访问https://mongoplayground.net/p/twSk6e53LtM

【问题讨论】:

您的查询以升序返回两个字段的数据。这里唯一需要考虑的是优先级。如果您的排序优先级是姓氏,则将其添加到顶部。 docs.mongodb.com/manual/reference/operator/aggregation/sort - 阅读文档 【参考方案1】:

试试mongoose:

db.collection.aggregate([
  
    sort:( 
      lastName: 1,
      email: 1
    )
  
])

【讨论】:

以上是关于如何在 mongoDb 中按多个字段排序的主要内容,如果未能解决你的问题,请参考以下文章

使用多个字段在 MongoDB 聚合框架中按相关性排序

使用mongoose在mongodb中按升序和降序对多个字段进行排序

如何在 MongoDB 中按日期对集合进行排序?

MongoDB:考虑到多个字段,我如何按距离排序?

MongoDB:考虑到多个字段,我如何按距离排序?

如何在 Django 中按计算字段复杂排序?