db.collection.find(query, projection)db.collection.find(query, projection)
参数 | 类型 | 描述 |
---|---|---|
query | mapJson | 可选,使用查询操作符指定查询条件,多个条件在json中用,隔开 |
projection | mapJson | 可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略) {字段:1|0} 1为返回,0为不返回,如果_id不设为0,默认返回 |
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法
db.${TABLE.NAME}.find().pretty()
db.mytable.find({age:10},{_id:0})
db.mytable.find({},{name:1,_id:0})
通过下表可以更好的理解 MongoDB 的条件语句查询:
操作 | 格式 | 范例 | RDBMS中的类似语句 |
---|---|---|---|
等于 | {<key>:<value> } | db.col.find({"by":"菜鸟教程"}).pretty() | where by = '菜鸟教程' |
小于 | {<key>:{$lt:<value>}} | db.col.find({"likes":{$lt:50}}).pretty() | where likes < 50 |
小于或等于 | {<key>:{$lte:<value>}} | db.col.find({"likes":{$lte:50}}).pretty() | where likes <= 50 |
大于 | {<key>:{$gt:<value>}} | db.col.find({"likes":{$gt:50}}).pretty() | where likes > 50 |
大于或等于 | {<key>:{$gte:<value>}} | db.col.find({"likes":{$gte:50}}).pretty() | where likes >= 50 |
不等于 | {<key>:{$ne:<value>}} | db.col.find({"likes":{$ne:50}}).pretty() | where likes != 50 |
db.mytable.find({age:{$lt:100}})
or
db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
)
db.mytable.find({$or:[{age:10},{age:11}]})
and与or联合使用
db.mytable.find({"name":"张三",$or:[{age:10},{age:11}]})
$type
(mongoDB中两个文档的对应字段的数据类型是可以不一样的,该字段用于输出特定类型的字段)
db.mytable.find({name:{$type:2}})
类型 | 数字 | 备注 |
---|---|---|
Double | 1 | |
String | 2 | |
Object | 3 | |
Array | 4 | |
Binary data | 5 | |
Undefined | 6 | 已废弃。 |
Object id | 7 | |
Boolean | 8 | |
Date | 9 | |
Null | 10 | |
Regular Expression | 11 | |
JavaScript | 13 | |
Symbol | 14 | |
JavaScript (with scope) | 15 | |
32-bit integer | 16 | |
Timestamp | 17 | |
64-bit integer | 18 | |
Min key | 255 | Query with -1 . |
Max key | 127 |