检查一个字段是否包含字符串

我正在寻找一个操作符,它允许我检查一个字段的值是否包含某个字符串。

就像是:

db.users.findOne({$contains:{"username":"son"}})

那可能吗?


你可以用下面的代码来完成。

db.users.findOne({"username" : {$regex : ".*son.*"}});

由于Mongo shell支持正则表达式,这是完全可能的。

db.users.findOne({"username" : /.*son.*/});

如果我们希望查询不区分大小写,我们可以使用“i”选项,如下所示:

db.users.findOne({"username" : /.*son.*/i});

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


http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart

http://php.net/manual/en/mongo.sqltomongo.php

MySQL的

SELECT * FROM users WHERE username LIKE "%Son%"

MongoDB的

db.users.find({username:/Son/})
链接地址: http://www.djcxy.com/p/86397.html

上一篇: Checking if a field contains a string

下一篇: PHP mongo find field starts with