find查询语法db.collection.find(query, projection)
collection:表名
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
{ "_id" : ObjectId("5ef0a8f674fece154ac36043"), "ab" : "A", "ln" : 293, }
以格式化的方式来显示所有文档
db.collection.find(query, projection).pretty()
{
"_id" : ObjectId("5ef15e5374fece033f304936"),
"ab" : "B",
"ln" : 275,
}
Type "it" for more # 显示更多数据
find() 方法可以传入多个键(key),相当于where by每个键(key)以逗号隔开,即常规 SQL 的 AND 条件
db.collection.find(query).pretty()
> db.collection.find({'ct':'2020-06-23 09:43:47',}).pretty()
{
"_id" : ObjectId("5ef15e5374fece033f304936"),
"ab" : "B",
"ln" : 275,
"ot" : "2020-06-23 09:43:54",
"ct" : "2020-06-23 09:43:47"
}
关键字$or:
db.c_mc_record.find({$or:[{'ct':'2020-06-23 09:43:47'},{"ct" : "2020-06-23 09:43:13"}]}).pretty()
{
"_id" : ObjectId("5ef15e3174fece033f304935"),
"ab" : "B",
"ln" : 278,
"ot" : "2020-06-23 09:43:30",
"ct" : "2020-06-23 09:43:13"
}
{
"_id" : ObjectId("5ef15e5374fece033f304936"),
"ab" : "B",
"ln" : 275,
"ot" : "2020-06-23 09:43:54",
"ct" : "2020-06-23 09:43:47"
}
and和or联合使用
相当于where ln>200and(by ct=…or c=…) $gt大于
> db.c_mc_record.find({'ln':{$gt:200},$or:[{'ct':'2020-06-23 09:43:47'},{"ct" : "2020-06-23 09:43:13"}]}).pretty()
{
"_id" : ObjectId("5ef15e3174fece033f304935"),
"ab" : "B",
"ln" : 278,
"ot" : "2020-06-23 09:43:30",
"ct" : "2020-06-23 09:43:13"
}
{
"_id" : ObjectId("5ef15e5374fece033f304936"),
"ab" : "B",
"ln" : 275,
"ot" : "2020-06-23 09:43:54",
"ct" : "2020-06-23 09:43:47"
}
常用判断条件
$lt < (less than )
$lte <= (less than or equal to )
$gt > (greater than )
$gte >= (greater than or equal to)
$ne != (not equal to)不等于 {'age': {'$ne': 20}}
$in 在范围内 {'age': {'$in': [20, 23]}} 注意用list
$nin (not in) 不在范围内{'age': {'$nin': [20, 23]}} 注意用list。
$regex (正则匹配) db.collection.find({'name': {'$regex': '^M.*'}}) 匹配以M开头的名字
$exists 属性是否存在 {'name': {'$exists': True}} 查找name属性存在
$type 类型判断 {'age': {'$type': 'int'}} age的类型为int
$text 文本查询 {'$text': {'$search': 'Mike'}} text类型的属性中包含Mike字符串
$or 查找多种条件 ({'$or':[{'name':'chen'},{'name':'wang'}]})