# 单个字段查询
db.col.find({filed1: 'aaa'})
# 正则查询
db.col.find({issn: /^1530-\d+?X$/}/})
# 控制输出
db.col.find({filed1: 'aaa'}, {_id: 0, field1: 1, field2: 1})
# $in查询
db.col.find({field1: {$in: ['aaa', 'abc', 'bbb']}})
# $and查询
db.col.find({$and: [{field1: 'aaa'}, field2: 'bbb'}]}) # 下面的方式更好
db.col.find({field1: 'aaa', field2: 'bbb'})
# $or查询
db.col.find({$or: [{field1: 'aaa'}, {field2: 'bbb'}]})
# $lt, $lte, $eq, $ne, $gt, $gte
db.col.find({field1: {$gte: 5}})
# 日期查询
db.col.find({field1: {$gte: ISODate(20190802)}})
# $type 按类型查询
db.col.find({field1: {$type: 2}})
db.col.find({field1: {$type: 'string'}})
# 控制查询结果的输出, 如输出10-15行结果
db.col.find({field1: 'aaa'}).skip(10).limit(5)
# 对查询结果进行排序
db.col.find({field1: 'aaa'}).sort({field2: 1}) # 升序
db.col.find({field1: 'aaa'}).sort({field2: 1}) # 降序
$type类型和对应数字
类型 | 数字 | 备注 |
---|---|---|
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 |