【发布时间】:2021-06-01 06:49:04
【问题描述】:
我将电话号码以各种格式存储在用户模型的数据库中。以下都是可能的。
+306974135662, 306974135662, 30 6974135662
然后从前端,我得到一个带有加号且没有空格的特定格式。
+306974135662
我想写一个匹配以上所有格式的 mongoid 查询。这可能吗?
User.where(phone: params[phone])
应该返回所有 3 个用户的电话号码 +306974135662、306974135662 和 30 6974135662
【问题讨论】:
-
这能回答你的问题吗? Use LIKE/regex with variable in mongoid
-
如果您知道所有可能的格式,请搜索所有排列:
User.where(phone: { '$in': ['+306974135662', '306974135662', '30 6974135662'] })。否则在插入时标准化。 可能的组合太多,无法生成有效的正则表达式。
标签: ruby-on-rails mongodb mongoid