【问题标题】:Sails Js "contains" does not accept numberrSails Js“包含”不接受数字
【发布时间】:2019-11-27 13:12:02
【问题描述】:

我正在尝试执行下面的查询是我的查询

Product.find({mobile:{contains:998888}})

下面出现错误

无法使用提供的where 子句。无法按mobile 过滤:contains(即字符串搜索)修饰符不能与布尔或数字属性一起使用(这没有任何意义)。

我想在数据类型为“int”的列中搜索数字。我正在使用 MYSQL 作为数据库。

【问题讨论】:

  • 改为进行数字比较?
  • 可以分享代码吗?
  • 我强烈建议不要将电话号码作为整数存储在数据库中 - some reasoning as to why.. 在澳大利亚,手机号码以 04... 开头。如果将其存储为整数,则会丢失前导 0,并且它不是有效的电话号码。如果您将电话号码存储为字符串(即使它只包含数字字符),您可以执行“包含”样式查询,MySQL 不会搞砸您的输入。
  • 这只是一个例子。我想按号码搜索。数字搜索比字符串搜索快。

标签: node.js express sails.js


【解决方案1】:

我相信你想要in 运算符。我怀疑是否有任何方法可以对 ORM 中的非字符串值进行子字符串匹配。

https://sailsjs.com/documentation/concepts/models-and-orm/query-language#?in

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-14
    • 2021-06-28
    • 2016-04-13
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多