В соответствии с документацией MongoDB и документации ICU должна быть возможность игнорировать разницу в ширину и половину ширины в японском тексте, используя collation
.
Я попробовал следующее:
{ locale: "ja", caseLevel:true, strength:1}
с разной силой, но ни один из них не работает.
db.getCollection('mycollection')
.find({"desc":/バンド/})
.collation({ locale: "ja", caseLevel:true, strength:1})
Этот запрос не может получить результат из следующего документа;
{
"desc": "*EGRパイプバンド外れ"
}
обновление
Обнаружена причина, по которой в MongoDB регулярное выражение не может применять параметры сортировки, поэтому, если я использую определенное совпадение для выполнения запроса, результат будет идеальным:
db.getCollection('mycollection')
.find({"desc":"*EGRパイプバンド外れ???"})
.collation({ locale: "ja", caseLevel:true, strength:1})
Этот запрос вернет *EGRパイプバンド外れ
этот результат.
Но нет, если я использую регулярное выражение, какие-либо предложения по нему?