Mongo获取id以某个数字结尾的用户

时间:2012-03-02 22:41:27

标签: php regex mongodb find

在mongo中,我正在尝试查询id以某个数字结尾的用户。这个数字是我传入的参数。

所以,如果我有4个用户[3544,42345,66452,7348],如果我只对8的用户感兴趣,我怎么能查询并获得用户7348。

我在这里看过,但找不到对此有用的内容:

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions

更新: 这样做是PHP,期望值是int,而不是字符串。我的where子句看起来像这样: $ where = array('uid'=>'/ 8 $ /');

2 个答案:

答案 0 :(得分:7)

如果你想找到一个id以数字8结尾的用户,你只需要这样做:

db.users.find( { id : /[8]$/ } );

$匹配到行尾。就像^匹配行的开头一样。 有关详细信息,请参阅this

要查找int类型数据字段的最后一位,您必须使用$ mod运算符。

答案 1 :(得分:6)

这应该这样做:

db.users.find( { id : { $mod : [ 10 , 8 ] } } )