gpt4 book ai didi

MongoDB 字母排序错误

转载 作者:可可西里 更新时间:2023-11-01 09:11:45 27 4
gpt4 key购买 nike

我正在使用 MongoDB 标准 $sort 操作,发现如果存在小写大写字符串,结果会被打乱。

例子:

Google
HTC
LG
Yoc
iTaxi

如您所见,iTaxi 被推到了底部,而不是位于 HTC 之后。

最佳答案

这是区分大小写的排序,小写字母排在大写字母之后。因此,出于排序和搜索目的,存储“规范化字段”是有意义的,其中字符串全部大写并且某些特殊字符被删除或替换,例如

[ { name : "iTaxi", searchName: "ITAXI" },
{ name : "HTC", searchName: "HTC" },
{ name : "Ümlaut", searchName: "UMLAUT" },
.... ]

在这个例子中,应该索引 searchName 字段,而不是 name 字段。

字符串的规范化,特别是替换变音符号和特殊字符,有点棘手。例如,在德语中 ü 应该变成 ueß 应该变成 sssz,但这远远超出了您最初问题的范围。

关于MongoDB 字母排序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416288/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com