operations
-- Operation class definitions#
Operation class definitions.
- class pymongo.operations.DeleteMany(filter: Mapping[str, Any], collation: _CollationIn | None = None, hint: _IndexKeyHint | None = None)#
Create a DeleteMany instance.
For use with
bulk_write()
.- Parameters:
filter: A query that matches the documents to delete.
collation (optional): An instance of
Collation
.hint (optional): An index to use to support the query predicate specified either by its string name, or in the same format as passed to
create_index()
(e.g.[('field', ASCENDING)]
). This option is only supported on MongoDB 4.4 and above.
在 3.11 版本发生变更: Added the
hint
option.在 3.5 版本发生变更: Added the collation option.
- class pymongo.operations.DeleteOne(filter: Mapping[str, Any], collation: _CollationIn | None = None, hint: _IndexKeyHint | None = None)#
Create a DeleteOne instance.
For use with
bulk_write()
.- Parameters:
filter: A query that matches the document to delete.
collation (optional): An instance of
Collation
.hint (optional): An index to use to support the query predicate specified either by its string name, or in the same format as passed to
create_index()
(e.g.[('field', ASCENDING)]
). This option is only supported on MongoDB 4.4 and above.
在 3.11 版本发生变更: Added the
hint
option.在 3.5 版本发生变更: Added the collation option.
- class pymongo.operations.IndexModel(keys: str | Sequence[str | Tuple[str, int | str | Mapping[str, Any]]], **kwargs: Any)#
Create an Index instance.
For use with
create_indexes()
.Takes either a single key or a list containing (key, direction) pairs or keys. If no direction is given,
ASCENDING
will be assumed. The key(s) must be an instance ofstr
, and the direction(s) must be one of (ASCENDING
,DESCENDING
,GEO2D
,GEOSPHERE
,HASHED
,TEXT
).Valid options include, but are not limited to:
name: custom name to use for this index - if none is given, a name will be generated.
unique: if
True
, creates a uniqueness constraint on the index.background: if
True
, this index should be created in the background.sparse: if
True
, omit from the index any documents that lack the indexed field.bucketSize: for use with geoHaystack indexes. Number of documents to group together within a certain proximity to a given longitude and latitude.
min: minimum value for keys in a
GEO2D
index.max: maximum value for keys in a
GEO2D
index.expireAfterSeconds: <int> Used to create an expiring (TTL) collection. MongoDB will automatically delete documents from this collection after <int> seconds. The indexed field must be a UTC datetime or the data will not expire.
partialFilterExpression: A document that specifies a filter for a partial index.
collation: An instance of
Collation
that specifies the collation to use.wildcardProjection: Allows users to include or exclude specific field paths from a wildcard index using the { "$**" : 1} key pattern. Requires MongoDB >= 4.2.
hidden: if
True
, this index will be hidden from the query planner and will not be evaluated as part of query plan selection. Requires MongoDB >= 4.4.
See the MongoDB documentation for a full list of supported options by server version.
- Parameters:
- keys: a single key or a list containing (key, direction) pairs
or keys specifying the index to create.
**kwargs (optional): any additional index creation options (see the above list) should be passed as keyword arguments.
在 3.11 版本发生变更: Added the
hidden
option.在 3.2 版本发生变更: Added the
partialFilterExpression
option to support partial indexes.
- class pymongo.operations.InsertOne(document: _DocumentType)#
Create an InsertOne instance.
For use with
bulk_write()
.- Parameters:
document: The document to insert. If the document is missing an _id field one will be added.
- class pymongo.operations.ReplaceOne(filter: Mapping[str, Any], replacement: _DocumentType | RawBSONDocument, upsert: bool = False, collation: _CollationIn | None = None, hint: _IndexKeyHint | None = None)#
Create a ReplaceOne instance.
For use with
bulk_write()
.- Parameters:
filter: A query that matches the document to replace.
replacement: The new document.
upsert (optional): If
True
, perform an insert if no documents match the filter.collation (optional): An instance of
Collation
.hint (optional): An index to use to support the query predicate specified either by its string name, or in the same format as passed to
create_index()
(e.g.[('field', ASCENDING)]
). This option is only supported on MongoDB 4.2 and above.
在 3.11 版本发生变更: Added the
hint
option.在 3.5 版本发生变更: Added the
collation
option.
- class pymongo.operations.SearchIndexModel(definition: Mapping[str, Any], name: str | None = None)#
Create a Search Index instance.
For use with
create_search_index()
andcreate_search_indexes()
.- Parameters:
definition - The definition for this index.
name (optional) - The name for this index, if present.
在 4.5 版本加入.
备注
Search indexes require a MongoDB server version 7.0+ Atlas cluster.
- class pymongo.operations.UpdateMany(filter: Mapping[str, Any], update: Mapping[str, Any] | _Pipeline, upsert: bool = False, collation: _CollationIn | None = None, array_filters: List[Mapping[str, Any]] | None = None, hint: _IndexKeyHint | None = None)#
Create an UpdateMany instance.
For use with
bulk_write()
.- Parameters:
filter: A query that matches the documents to update.
update: The modifications to apply.
upsert (optional): If
True
, perform an insert if no documents match the filter.collation (optional): An instance of
Collation
.array_filters (optional): A list of filters specifying which array elements an update should apply.
hint (optional): An index to use to support the query predicate specified either by its string name, or in the same format as passed to
create_index()
(e.g.[('field', ASCENDING)]
). This option is only supported on MongoDB 4.2 and above.
在 3.11 版本发生变更: Added the hint option.
在 3.9 版本发生变更: Added the ability to accept a pipeline as the update.
在 3.6 版本发生变更: Added the array_filters option.
在 3.5 版本发生变更: Added the collation option.
- class pymongo.operations.UpdateOne(filter: Mapping[str, Any], update: Mapping[str, Any] | _Pipeline, upsert: bool = False, collation: _CollationIn | None = None, array_filters: List[Mapping[str, Any]] | None = None, hint: _IndexKeyHint | None = None)#
Represents an update_one operation.
For use with
bulk_write()
.- Parameters:
filter: A query that matches the document to update.
update: The modifications to apply.
upsert (optional): If
True
, perform an insert if no documents match the filter.collation (optional): An instance of
Collation
.array_filters (optional): A list of filters specifying which array elements an update should apply.
hint (optional): An index to use to support the query predicate specified either by its string name, or in the same format as passed to
create_index()
(e.g.[('field', ASCENDING)]
). This option is only supported on MongoDB 4.2 and above.
在 3.11 版本发生变更: Added the hint option.
在 3.9 版本发生变更: Added the ability to accept a pipeline as the update.
在 3.6 版本发生变更: Added the array_filters option.
在 3.5 版本发生变更: Added the collation option.