1.查询当前有哪些数据库:
show dbs;
2.对集合的查询
show tables;
3.对集合中文档的查询
db. + 集合名 + .find()
如查询student数据库中score表中的所有文档:
use student; #切换到要查寻的数据库
db.score.find()
上面一条语句是对所有记录的查询,默认显示20条。
下面一条语句只查询第一条数据:
db.score.findOne();
在查询语句中附上查询条件:
- 只查询带有特定键值对的文档:
小括号中附上要满足的键值对
use student;
db.score.find({stdScore:100}) //找到文档中有stdScore属性并且stdScore值为100的
上面的查询只能精确匹配。下面是范围内查询:
$lt //相当于<
$lte //相当于<=
$gt //相当于>
$gte //相当于>=
$ne //不等于
$in //查询一个键的多个值
$nin //与上面相反 不再某个范围
下面一条语句匹配stdScore小于90,大于80的文档
use.student;
db.score.find({stdScore:{$lt:90,$gt:80}})
下面一条语句查询成绩为[60,61,62,63]的文档:
use.student;
db.score.find({stdScore:{$in:[60,61,62,63]})
db.score.find({stdScore:{$in:[60,61,62,63]}) //成绩不在[60,61,62,63]范围内
查询键值为null的文档:
如果只有key=null这一个约束条件,最后会把键不存在的数据也列出来,所以要加一个判断是否存在的判定条件:
db.score.find(name:{$in:[null],$exists:true})