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

时间:2014-10-06 16:04:48

标签: c# regex mongodb

我正在尝试在MongoDB中搜索全部采用不同格式的字符串电话号码。

E.g。 (323)704-3234,3237043234,323-704-3234,+ 1-323-704-3234,323.704.3234等。

我可以使用MongoDB提供的运算符或正则表达式,允许您查找减去特殊字符的字符串吗?

例如在c#中,

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

1 个答案:

答案 0 :(得分:0)

抱歉,但你做错了。

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

然后再一次,当用户要求输入一个号码时 - 他也可以提供任何格式,并在搜索之前将其转换为数字。 (不要忘记在电话号码字段中输入索引)为了更加用户友好,您可以使用用户提出的相同格式显示输出。

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