> db.集合名称.find(query, projection)
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
> db.集合名称.find().pretty()
注意: pretty() 方法以格式化的方式来显示所有文档。
如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:
先查询下collections中的数据
让数据友好显示:
db.users.find().pretty()
我们查询年龄为24的文档数据
db.users.find({age:24})
查询年龄小于29岁的数据
db.users.find({age:{$lt:29}})
查询年龄小于等于29岁的数据
db.users.find({age:{$lte:29}})
年龄>=29的结果和年龄不等于29的结果如下:
> db.集合名称.find({key1:value1, key2:value2,...}).pretty()
类似于 WHERE 语句:WHERE key1=value1 AND key2=value2
查询name是不良人_0,年龄>24岁的数据:
db.users.find({$or:[{name:'不良人_0'},{age:{$gt:24}}]})
MongoDB OR 条件语句使用了关键字 $or,语法格式如下:
> db.集合名称.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
类似于 WHERE 语句:WHERE key1=value1 or key2=value2
类似SQL语句为:'where age >50 AND (name = '编程不良人' OR name = 'MongoDB')'
> db.集合名称.find({"age": {$gt:50}, $or: [{"name": "编程不良人"},{"name": "MongoDB"}]}).pretty();
db.users.find({likes:'看电视xx'})
类似 SQL 中为 'where name like '%name%''
> db.users.find({likes:/良/});
注意:在 mongoDB 中使用正则表达式可以是实现近似模糊查询功能
> db.集合名称.find().sort({name:1,age:1}),
- 1 升序 -1 降序
类似 SQL 语句为: 'order by name,age'
按年龄升序排列
db.users.find({}).sort({ age:1 })
按年龄降序排列
db.users.find({}).sort({ age:-1})
按照年龄降序,name升序
db.users.find({}).sort({ age:-1,name:1})
> db.集合名称.find().sort({条件}).skip(start).limit(rows);
类似于 SQL 语句为: 'limit start,rows'
db.users.find({}).sort({ age:-1,name:1}).skip(0).limit(2)
db.users.find({}).sort({ age:-1,name:1}).skip(2).limit(2)
> db.集合名称.count();
> db.集合名称.find({"name":"编程不良人"}).count();
类似于 SQL 语句为: 'select count(id) from ....'
db.orders.find().count()
> db.集合名称.distinct('字段')
类似于 SQL 语句为: 'select distinct name from ....'
db.users.distinct('age')
> db.集合名称.find({条件},{name:1,age:1})
- 参数2: 1 返回 0 不返回 `注意:1和0不能同时使用`
只返回name字段(_id是默认自带的)
db.users.find({},{name:1})
只返回name,不要_id,这个是个特殊,除此之外,0和1不可以同时使用
db.users.find({},{_id:0,name:1})
0和1同时使用会报错:不要age字段,只要name字段
上面这些操作都很简单,我只是挑了一些初级的操作,更复杂的查询操作和API请参考官网
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有