sorting - 自定义排序顺序 - mongoDB 中的配置

标签 sorting mongodb configuration

我想知道如何为自定义排序序列配置数据库

今天,MongoDB 按以下顺序对字符串数据进行排序:(对字符串列表进行排序的模式是 -> [Symbols][0-9][A-Z][a-z] )

示例:当前排序顺序将是这样的。

  1. &%姓名
  2. 123应用程序名称
  3. 应用名称
  4. 哨兵名称
  5. 应用名称
  6. 样本名称

但是我们想要的这种排序方式是不同的。模式可以是-> [符号][0-9][Aa-Zz]

示例:预期的排序顺序应该是这样的

  1. &%姓名
  2. 123应用程序名称
  3. 应用名称
  4. 应用名称
  5. 哨兵名称
  6. 样本名称

我的问题是,您是否知道如何在 mongoDB 中配置来自定义正则表达式模式,以按我们预期的顺序进行排序。 ?

我希望它是清楚的,如果有不清楚的地方,请让我知道更详细的解释。

PS:我想在数据库级别进行此更改,以便当我对其进行排序时,它对于任何字符串都保持相同。

最佳答案

目前,MongoDB 尚未实现排序规则。实现Unicode collation standard是解决该问题的最佳方法,但正如您在浏览该文档时所看到的那样,这不是一项简单的任务。此外,它还会使排序变慢,索引变大。因此,目前最好在您的应用程序中进行排序,或者添加一个包含您建议的排序值的字段 - 如果您足够疯狂,您可以自己实现 TR10 中的排序算法。

关于sorting - 自定义排序顺序 - mongoDB 中的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512834/

相关文章:

hadoop - 在将数据放入数据节点之前,Hadoop 是否有多个本地临时文件位置?

configuration - 统一 : Specify Dependency name during configuration

.net - VB.NET 排序 IEnumerable 类

list - lisp 通过函数排序列表

javascript - 我如何在 javascript 中对 3 维数组进行排序?

python - 在python中对两个列表进行排序?

python - 设计 Django MongoDB 引擎外键列表

mongodb - 无法从 Spring Boot 应用程序连接到 Cosmos Db Mongo Api

MongoDB mongorestore 和现有的记录集合

tomcat - 将 $CATALINA_HOME 传递给 Jenkins 的 Maven 构建任务