我正在尝试在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))
答案 0 :(得分:0)
抱歉,但你做错了。
您可以接受任何格式的电话字符串(如果您愿意),但在存储它们之前,您需要将它们转换为某种特定格式。在您的情况下,最好的只是将其转换为数字(较小的尺寸来存储,以创建索引)。
然后再一次,当用户要求输入一个号码时 - 他也可以提供任何格式,并在搜索之前将其转换为数字。 (不要忘记在电话号码字段中输入索引)为了更加用户友好,您可以使用用户提出的相同格式显示输出。
要更改所有当前手机,只需遍历数据库并更新每个号码。