raw_bson
– Tools for representing raw BSON documents.¶
Tools for representing raw BSON documents.
-
bson.raw_bson.
DEFAULT_RAW_BSON_OPTIONS
= CodecOptions(document_class=<class 'bson.raw_bson.RawBSONDocument'>, tz_aware=False, uuid_representation=PYTHON_LEGACY, unicode_decode_error_handler='strict', tzinfo=None, type_registry=TypeRegistry(type_codecs=[], fallback_encoder=None))¶ The default
CodecOptions
forRawBSONDocument
.
-
class
bson.raw_bson.
RawBSONDocument
(bson_bytes, codec_options=None)¶ Create a new
RawBSONDocument
RawBSONDocument
is a representation of a BSON document that provides access to the underlying raw BSON bytes. Only when a field is accessed or modified within the document does RawBSONDocument decode its bytes.RawBSONDocument
implements theMapping
abstract base class from the standard library so it can be used like a read-onlydict
:>>> raw_doc = RawBSONDocument(BSON.encode({'_id': 'my_doc'})) >>> raw_doc.raw b'...' >>> raw_doc['_id'] 'my_doc'
Parameters: - bson_bytes: the BSON bytes that compose this document
- codec_options (optional): An instance of
CodecOptions
whosedocument_class
must beRawBSONDocument
. The default isDEFAULT_RAW_BSON_OPTIONS
.
Changed in version 3.8:
RawBSONDocument
now validates that thebson_bytes
passed in represent a single bson document.Changed in version 3.5: If a
CodecOptions
is passed in, its document_class must beRawBSONDocument
.-
items
()¶ Lazily decode and iterate elements in this document.
-
raw
¶ The raw BSON bytes composing this document.