【发布时间】:2019-11-27 13:12:02
【问题描述】:
我正在尝试执行下面的查询是我的查询
Product.find({mobile:{contains:998888}})
下面出现错误
无法使用提供的
where子句。无法按mobile过滤:contains(即字符串搜索)修饰符不能与布尔或数字属性一起使用(这没有任何意义)。
我想在数据类型为“int”的列中搜索数字。我正在使用 MYSQL 作为数据库。
【问题讨论】:
-
改为进行数字比较?
-
可以分享代码吗?
-
我强烈建议不要将电话号码作为整数存储在数据库中 - some reasoning as to why.. 在澳大利亚,手机号码以
04...开头。如果将其存储为整数,则会丢失前导 0,并且它不是有效的电话号码。如果您将电话号码存储为字符串(即使它只包含数字字符),您可以执行“包含”样式查询,MySQL 不会搞砸您的输入。 -
这只是一个例子。我想按号码搜索。数字搜索比字符串搜索快。