1.MongoDB查询
1.1 find简介
lMongoDB 查询数据的语法格式如下:
db.collection.find( {query}, {projection} )
参数说明:
query :可选,使用查询操作符指定查询条件。
projection :可选,指定返回的键。
db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档
1.1.1 查询所有数据
空的查询文档{}会匹配集合的全部内容。若是不指定查询文档,默认就是{}。
例如:
1、db.user.find({}) 即查询user集合中的全部内容
2、db.user.find({“age”:18}) 查找所有的“age”的值为18的文档
3、db.user.find({“name”:“jack”}) 想匹配一个字符串,“name”的值为“jack”的
4、db.user.find({“name”:“jack”,“age”:18}) 查询所有用户名为“jack”且年龄为18的用户
1.1.2 指定返回键
指定键的值为0,不返回该键值对;为1时返回
user集合的数据
查看命令:db.user.find({},{”_id”:0,“username”:1})
1.2 查询条件
1.2.1 比较操作符
$lt:小于(<)
$lte :小于等于(<=)
$gt :大于(>)
$gte :大于等于(>=)
$ne :不等于(≠)
db.user.find({“age”:{“$gte”:18}})
需求:
查询user集合中:年龄在18到28的用户
命令:
db.user.find({“age”:{“$gte”:18,“$lte”:28}})
1.2.2包含($in)或不包含($nin)
示例:
(1)查询国籍是中国或者美国的学生信息
db.persons.find({country:{$in:[“USA”,“China”]}})
(2)查询国籍不是中国或美国的学生信息。
db.persons.find({country:{$nin:[“USA”,“China”]}})
1.2.3 ”$or”查询与“$not”查询
$or 查询
查询语文成绩大于90或者英语成绩大于85的学生信息:
db.personsr.find({$or:[{c:{$gte:85}},{e:{$gte:90}}]})
$not 查询
查询出名字中不存在“foo”的学生的信息:
db.persons.find({name:{$not:/foo/}})
1.3 特定类型查询
1.3.1 null