查找数据
db.students.find()
格式化返回
db.students.find().pretty()
Where 语句比较
- 等于
db.col.find({"by":"菜鸟教程"}).pretty()
where by = '菜鸟教程'
- 小于
db.col.find({"likes":{$lt:50}}).pretty()
where likes < 50
- 小于或等于
db.col.find({"likes":{$lte:50}}).pretty()
where likes <= 50
- 大于
db.col.find({"likes":{$gt:50}}).pretty()
where likes > 50
- 大于或等于
db.col.find({"likes":{$gte:50}}).pretty()
where likes >= 50
- 不等于
db.col.find({"likes":{$ne:50}}).pretty()
where likes != 50
查询名字为小白age大于21的
db.students.find({"name": "小白","age":{$gt:21}}).pretty();
查询名字为小白age小于24的
db.students.find({"name": "小白","age":{$lt:24}}).pretty();
AND 条件使用逗号隔开
db.students.find({"name": "小白","age":{$gt:21}}).pretty(); WHERE name="小白" AND age:{$gt:21}
OR 条件
db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
db.students.find({$or:[{"name": "小白"},{"name": "小红"}]}).pretty();
db.students.find({$or:[{"name": "小白"},{"name": "小红"}]}).pretty();
AND 和 OR 联合使用
where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')
db.col.find({"likes": {or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
模糊查询
- 查询 title 包含"教"字的文档:
db.col.find({title:/教/})
db.students.find({"name":/小/}).pretty();
- 查询 title 字段以"教"字开头的文档:
db.col.find({title:/^教/})
db.students.find({"name":/^小/}).pretty();
- 查询 titl e字段以"教"字结尾的文档:
db.col.find({title:/教/}).pretty();
读取指定数量的数据记录Limit与Skip方法
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
db.COLLECTION_NAME.find().limit(NUMBER)
查询结果的排序sort() 方法,其中 1 为升序排列,而 -1 是用于降序排列
db.students.find({$or:[{"name": "小白"},{"name": "小红"}]}).sort({"age":1}).pretty();