【发布时间】:2014-06-14 17:21:21
【问题描述】:
我正在尝试在 mongodb 中进行类似于 SQL 示例的查询:
SELECT * from example where contactphone like '4832%';
我的第一个想法是做这样的事情:
db.example.find({ contactphone: /^4832/ })
但它不会返回我要查找的内容,因为contactphone 是一个号码。
在mongodb中对数字进行此类操作有什么好的做法吗?
编辑:电话号码可能是一个不好的例子。假设我需要找到所有包含数字 9 的数字。我怎样才能做到这一点?
【问题讨论】:
-
如果您需要
LIKE操作,我建议将电话号码存储为字符串。这也将允许具有前导零的国际号码,例如011468...。也就是说,如果您有固定位数,您也可以使用$gt和$lt。 -
当你有一个算术没有意义的数字时——比如邮政编码、社会保险号码或电话号码——你应该始终将其存储为字符串,而不是整数。