我想知道如何为自定义排序序列配置数据库
今天,MongoDB 按以下顺序对字符串数据进行排序:(对字符串列表进行排序的模式是 -> [Symbols][0-9][A-Z][a-z] )
示例:当前排序顺序将是这样的。
- &%姓名
- 123应用程序名称
- 应用名称
- 哨兵名称
- 应用名称
- 样本名称
但是我们想要的这种排序方式是不同的。模式可以是-> [符号][0-9][Aa-Zz]
示例:预期的排序顺序应该是这样的
- &%姓名
- 123应用程序名称
- 应用名称
- 应用名称
- 哨兵名称
- 样本名称
我的问题是,您是否知道如何在 mongoDB 中配置来自定义正则表达式模式,以按我们预期的顺序进行排序。 ?
我希望它是清楚的,如果有不清楚的地方,请让我知道更详细的解释。
PS:我想在数据库级别进行此更改,以便当我对其进行排序时,它对于任何字符串都保持相同。最佳答案
目前,MongoDB 尚未实现排序规则。实现Unicode collation standard是解决该问题的最佳方法,但正如您在浏览该文档时所看到的那样,这不是一项简单的任务。此外,它还会使排序变慢,索引变大。因此,目前最好在您的应用程序中进行排序,或者添加一个包含您建议的排序值的字段 - 如果您足够疯狂,您可以自己实现 TR10 中的排序算法。
关于sorting - 自定义排序顺序 - mongoDB 中的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512834/