coll.find({}).limit(10)
-
没有查询条件,但是只返回10个结果
-
coll.find_one({})
-
没有查询条件,只返回一个结果
-
$exists
field 存在 -
coll.find_one({"a": {"$exists": True}}, {"a": 1, "b": 1})
查询条件:fielda
必须存在,并且只返回两个 field:a
和b
参考:https://www.naukri.com/code360/library/mongodb-exists -
$regex
正则表达式 coll.ind_one({"a": {"$regex": ".*bbox.*", "$options": "i"}})
- field
a
必须满足正则表达式.*bbox.*
,忽略大小写 -
文档:https://www.mongodb.com/zh-cn/docs/manual/reference/operator/query/regex/
i
不区分大小写,以匹配大小写。有关示例,请参阅执行不区分大小写的正则表达式匹配。m
对于包含锚点的模式(即,^
表示开始,$
表示结束)x
“扩展”功能,可忽略 $regex 模式中的所有空白字符,除非转义或包含在字符类中。s
允许点字符(即. )匹配包括换行符在内的所有字符。u
支持 Unicode。 例如:$options: "si"
-
$regex
正则表达式,另一种写法 参考:https://stackoverflow.com/questions/52005155/pymongo-find-query-with-or-and-regex
import re
#
search = "substring"
search_expr = re.compile(f".*{search}.*", re.I)
#
search_request = {
'$or': [
{'author': {'$regex': search_expr}},
{'header': {'$regex': search_expr}}
]
}