- feature: allow_disk_use
This commit is contained in:
parent
d033e3b133
commit
68447af127
@ -34,7 +34,6 @@ from mongoengine.queryset import transform
|
||||
from mongoengine.queryset.field_list import QueryFieldList
|
||||
from mongoengine.queryset.visitor import Q, QNode
|
||||
|
||||
|
||||
__all__ = ("BaseQuerySet", "DO_NOTHING", "NULLIFY", "CASCADE", "DENY", "PULL")
|
||||
|
||||
# Delete rules
|
||||
@ -63,6 +62,7 @@ class BaseQuerySet:
|
||||
self._loaded_fields = QueryFieldList()
|
||||
self._ordering = None
|
||||
self._snapshot = False
|
||||
self._allow_disk_use = False
|
||||
self._timeout = True
|
||||
self._read_preference = None
|
||||
self._read_concern = None
|
||||
@ -798,6 +798,7 @@ class BaseQuerySet:
|
||||
"_loaded_fields",
|
||||
"_ordering",
|
||||
"_snapshot",
|
||||
"_allow_disk_use",
|
||||
"_timeout",
|
||||
"_read_preference",
|
||||
"_read_concern",
|
||||
@ -1165,6 +1166,16 @@ class BaseQuerySet:
|
||||
queryset._snapshot = enabled
|
||||
return queryset
|
||||
|
||||
def allow_disk_use(self, enabled):
|
||||
"""Enable or disable the use of temporary files on disk while processing a blocking sort operation.
|
||||
(To store data exceeding the 100 megabyte system memory limit)
|
||||
|
||||
:param enabled: wether or not temporary files on disk are used
|
||||
"""
|
||||
queryset = self.clone()
|
||||
queryset._allow_disk_use = enabled
|
||||
return queryset
|
||||
|
||||
def timeout(self, enabled):
|
||||
"""Enable or disable the default mongod timeout when querying. (no_cursor_timeout option)
|
||||
|
||||
@ -1604,6 +1615,9 @@ class BaseQuerySet:
|
||||
if not self._timeout:
|
||||
cursor_args["no_cursor_timeout"] = True
|
||||
|
||||
if self._allow_disk_use:
|
||||
cursor_args["allow_disk_use"] = True
|
||||
|
||||
if self._loaded_fields:
|
||||
cursor_args[fields_name] = self._loaded_fields.as_dict()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user