db.collection.find({field:/正则表达式/})或db.凑集.find({字段:/正则表达式/})

提示:正则表达式是js的语法,直接量的写法。

例如,我要查询评论内容包含“开水”的所有文档,代码如下:

db.comment.find({content:/开水/})

如果要查询评论的内容中以“专家”开头的,代码如下:

php模糊查询mongodbMongodb 庞杂查询 CSS

db.comment.find({content:/^专家/})比较查询

<, <=, >, >= 这个操作符也是很常用的,格式如下:

db.凑集名称.find({ "field" : { $gt: value }}) // 大于: field > valuedb.凑集名称.find({ "field" : { $lt: value }}) // 小于: field < valuedb.凑集名称.find({ "field" : { $gte: value }}) // 大于即是: field >= valuedb.凑集名称.find({ "field" : { $lte: value }}) // 小于即是: field <= valuedb.凑集名称.find({ "field" : { $ne: value }}) // 不即是: field != value

示例:查询评论点赞数量大于700的记录

db.comment.find({likenum:{$gt:NumberInt(700)}})包含查询

包含利用$in操作符。
示例:查询评论的凑集中userid字段包含1003或1004的文档

db.comment.find({userid:{$in:["1003","1004"]}

不包含利用$nin操作符。
示例:查询评论凑集中userid字段不包含1003和1004的文档

db.comment.find({userid:{$nin:["1003","1004"]}})条件连接查询

我们如果须要查询同时知足两个以上条件,须要利用$and操作符将条件进行关联。
(相 当于SQL的and) 格式为:

$and:[ { },{ },{ } ]

示例:查询评论凑集中likenum大于即是700 并且小于2000的文档:

db.comment.find({$and:[{likenum:{$gte:NumberInt(700)}},{likenum:{$lt:NumberInt(2000)}}]})

如果两个以上条件之间是或者的关系,我们利用 操作符进行关联,与前面 and的利用办法相同 格式为:

$or:[ { },{ },{ } ]

示例:查询评论凑集中userid为1003,或者点赞数小于1000的文档记录

db.comment.find({$or:[ {userid:"1003"} ,{likenum:{$lt:1000} }]})