是否可以使用find()来搜索以最后一位数字结尾的条形码365478我不在乎前面的内容
我想到这样的事情。
$db.find(array('barcode'=>*365478))
但这似乎不起作用。我错过了什么吗?
答案 0 :(得分:4)
/365478$/
的正则表达式将提供正确的过滤器。
答案 1 :(得分:3)
正则表达式可以工作,但您将无法使用索引进行查询。我建议将最后6位数字存储在一个单独的字段中,在其上放一个索引并使用它。
答案 2 :(得分:0)
您可以使用正则表达式,但如果您希望能够使用索引,则必须反转存储条形码(只有root的正则表达式可以使用索引,请参阅http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions)
如果这对您来说不实用,则必须单独保存最后X位数并进行精确匹配。如果您的数据库相对较小,您可以在没有索引的情况下离开。
答案 3 :(得分:0)
正则表达式应该是这样的:365478$
使用PHP作为例如。
$regex = new MongoDB\BSON\Regex ( '365478$');