在mongodb的查询语句中可以这么写{“a”:$gt(1),"a":$lt(5)}
但这么查询出来的值会做单个条件匹配,最终结果为a大于1的集合+a小于5的集合
如果需要实现去交集,a大于1并且又小于5,就必须要用到$and函数了
同条件并列查询:
{ $and:[{"_id":{$gte:ObjectId("59512f800000000000000000")}}, {"_id":{$lte:ObjectId("595280ff0000000000000000")}}], "url":"http://url" }
模糊查询:
使用$regex函数正则模糊查询
{"url":{$regex:"http://www.baidu.com.cn/\?"}}
简易式模糊查询
{"url":/www.baidu.com/}
查询字段存在的记录
{"ui":{$exists:true}}
查询为空的字段
{name:{$in:[null]}}
查询字段不为空
{name:{$ne:null}}
多正则匹配查询or查询
$or:[{"url":{$regex:/http://(www|m).baidu.com.cn/netshow/(.*)/news(.*).htm/}}, {"url":{$regex:/http://www.baidu.com.cn/hot/(.*)/}}]
多正则匹配查询or查询,简单写法
"$or":[{"url":/www.xxx.com.cn/},{"url":/bbs.xxx.com.cn/}]
and查询
$and:[{"ui":{$exists:true}},{"ui":{$ne:0}}]