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

标签 c# regex mongodb

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

例如(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))

最佳答案

对不起,你做错了。

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

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

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

关于c# - 如何在 MongoDB 中搜索各种格式的电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26220234/

相关文章:

c# - 如果在方法内部声明,则方法仅添加到列表

c++ - 使用正则表达式查找多个字符串的第一个实例

mongodb - 仅在 MongoDB 日志中记录错误

mongodb - 将 "working set"放入 MongoDB 的 RAM 是什么意思?

C# - LINQToExcel - 空值

C# 垃圾回收

c# - Xamarin.Forms 中可重用的 XAML 控件

python - 在 Python 正则表达式中指定匹配新行的不同方法

php - 删除与 php 匹配模式的类

MongoDB聚合函数