检查一个字段是否包含字符串
我正在寻找一个操作符,它允许我检查一个字段的值是否包含某个字符串。
就像是:
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