赞
踩
用于判断字段是否存在,比如我们向users集合里面添加一条记录,只有name属性
db.users.insert({name:”testExists”})
现在我们查出不存在age字段的记录
db.users.find({“age”:{$exists:false}})
查出有age字段但没有gender字段的记录
db.users.find({“age”:{$exists:true},” gender”:{$exists:false}})
需要注意的null与exists的区别
null指的是字段为空或者字段不存在
exists指的是字段是否存在
比较下面两条记录
{“name”:null,” age”:44}
{“age”:45}
如果使用null查询 db.xxx.find({name:null}) 则会查出上面两条记录
但是我们只想找出存在name字段并且其为空的记录,可以这么查询
db.xxx.find({“name”:{$exists:true, $in:[null]}});
取模,比如我们查询年龄取模10等于1的记录,应该是年龄为1,11,21,…
db.users.find({“age”:{$mod:[10,1]}})
这个类似于标准sql的in与not in
查询age为23或者24的记录
db.users.find({“age”:{$in:[23, 24]}})
查询age不为23或者24的记录
db.users.find({“age”:{$nin:[23, 24]}})
可以用在任何其他条件之上
db.users.find({$not:{“age”:{$gt:25}}})
查询年龄为32或者name为zhangsan的记录
db.users.find({$or:[{“name”:”zhangsan”}, {“age”:32}]})
假设我们有下面两个document
${“name”:”zhangsan”,” booksNumber”:[101, 102, 103]}
${“name”:”lisi”, “booksNumber”:[101, 103]}
db.users.find({“booksNumber”:{$all:[101, 102]}});
那么就能查出第一条记录,它需要满足里面所有的条件
我们需要查询只有booksNumber里面只有两个的记录
db.users.find({“booksNumber”:{$size:2}})
查询总记录数
db.users.find().count()
注:如果我们使用了limit
db.users.find().limit(3).count() 这里是取前三条记录,但是调用count()后还是显示总记录数,如果我们需要返回被限制后的记录数
db.users.find().limit(3).count(true)即可
这也是个顾名思义的操作,排序: 1 代表升序 -1 代表降序
按名字进行升序排序
db.users.find().sort({name:1})
先按名字升序,再按年龄降序
db.users.find().sort({name:1, age:-1})
查询年龄小于等于50所有的name并去除重复
db.users.distinct(“name”, {“age”:{$lte:50}})
这一特性通常用于分页
跳过三条记录并取之后的三条记录
db.users.find().skip(3).limit(3)
比如要查询这么一条记录:
{ “books”:{“bookid”:100, “bookname”:”english”} }
db.users.find({“books.bookid”:100});
使用正则表达式也是mongodb非常强大的特性
比如我们使用正则表达式对name进行过滤
db.users.find({“name”:/^[fc]{1}/})
可以使用javascript代码进行查询,这使得查询几乎能做任何事情
db.users.find({$where:function() {
//this指遍历到的当前的document
//根据return true or false来判断此document是否满足find的条件
if(this.name == “zhangsan”) {
return true;
}
for(var prop in this) {
if(this[prop] == “123”) {
return true;
}
}
return false;
}});
############################
查询:
MySQL:DELETE FROM users WHERE z="abc" db.users.remove({z:'abc'});
###################################################
一、操作符[
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。