如何在MongoDB中搜索各种电话号码格式

本文关键字:电话号码 格式 搜索 MongoDB | 更新日期: 2023-09-27 18:25:39

我正试图在MongoDB中搜索不同格式的字符串电话号码。

例如(323)704-3234、3237043234、323-704-3234、+1-323-704-3233233.704.3234等

有没有MongoDB提供的运算符或正则表达式可以让你找到没有特殊字符的字符串?

例如,在c#中,

collection.Find(Query.Matches("PhoneNumber",(some regex, replace, or where)3237043234))

如何在MongoDB中搜索各种电话号码格式

对不起,你做错了。

你可以接受任何格式的电话字符串(如果你愿意的话),但在存储它们之前,你需要将它们转换成某种特定的格式。在您的情况下,最好的方法是将其转换为数字(存储较小的大小,创建索引)。

还有一次,当用户要求提供一个号码时,他也可以以任何格式提供,在你搜索之前,你会将其转换为号码。(别忘了在电话号码字段上加索引)为了更方便用户,你可以按照用户要求的格式显示输出。

要更改所有当前的手机,只需遍历数据库并更新每个号码即可。