【发布时间】:2016-05-05 04:52:27
【问题描述】:
在 mongo shell 中我试图查询一个数字数组
一个示例对象:
[{"name":"test", "numbers" : [76.3922, 42.9196154]},
{"name":"test", "numbers" : [87.938547, 42.9196154]},
{"name":"test", "numbers" : [42.9196154,87.938547]}]
我试图用它来查找任何以 87 开头的文件
db.TestColleciton.find( { "numbers": { $in: [ /^-87/ ] } } )
【问题讨论】:
-
你的意思是
numbers数组中的第一个数字吗?如果numbers中的那些元素是浮点数,您的正则表达式也将不起作用。要使用正则表达式,您的数组元素必须是字符串。 -
你的正则表达式也有一个负号,所以它只会匹配
-87,这是你想要的吗? -
@user3100115 是的。因此,这里的解决方案是查看“字符串化”数值,或者更好地考虑“范围”中的所有可能值,以了解数字的“开始”。取决于这意味着什么。
标签: regex mongodb mongodb-query