问题描述
我将电话号码以各种格式存储在用户模型的数据库中。以下都是可能的。
+306974135662,306974135662,30 6974135662
然后从前端,我得到一个带有加号但没有空格的特定格式。
+306974135662
我想编写一个匹配上述所有格式的 mongoid 查询。这可能吗?
User.where(phone: params[phone])
应返回电话号码为 +306974135662、306974135662 和 30 6974135662 的所有 3 个用户
解决方法
选项 1:存储输入的电话号码,使用正则表达式进行匹配。
选项 2:存储在一个字段中输入的电话号码。在另一个字段中存储电话号码的规范化表示(示例中的第二个)。与规范化表示匹配。
第二个选项需要额外的磁盘空间、内存和预处理,但可以让查询更简单、更快。