在 MongoDB“db.foo.find()”语法中,我如何告诉它匹配所有字母及其重音版本?
例如,如果我的数据库中有一个姓名列表:
João
弗朗索瓦
Jesús
我如何允许搜索字符串“Joao”、“Francois”或“Jesus”来匹配给定的名称?
我希望我不必每次都进行这样的搜索:
db.names.find({name : /Fr[aã...][nñ][cç][all accented o characters][all accented i characters]s/ })
从 Mongo 3.2 开始,您可以使用$text
并设置$diacriticSensitive
为假:
{
$text:
{
$search: <string>,
$language: <string>,
$caseSensitive: <boolean>,
$diacriticSensitive: <boolean>
}
}
在 Mongo 文档中查看更多内容:https://docs.mongodb.com/manual/reference/operator/query/text/ https://docs.mongodb.com/manual/reference/operator/query/text/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)