OpenQuizz
Une application de gestion des contenus pédagogiques
BSON Class Reference
Inheritance diagram for BSON:
Collaboration diagram for BSON:

Public Member Functions

def encode (cls, document, check_keys=False, codec_options=DEFAULT_CODEC_OPTIONS)
 
def decode (self, codec_options=DEFAULT_CODEC_OPTIONS)
 

Detailed Description

BSON (Binary JSON) data.

.. warning:: Using this class to encode and decode BSON adds a performance
   cost. For better performance use the module level functions
   :func:`encode` and :func:`decode` instead.

Member Function Documentation

◆ decode()

def decode (   self,
  codec_options = DEFAULT_CODEC_OPTIONS 
)
Decode this BSON data.

By default, returns a BSON document represented as a Python
:class:`dict`. To use a different :class:`MutableMapping` class,
configure a :class:`~bson.codec_options.CodecOptions`::

    >>> import collections  # From Python standard library.
    >>> import bson
    >>> from bson.codec_options import CodecOptions
    >>> data = bson.BSON.encode({'a': 1})
    >>> decoded_doc = bson.BSON(data).decode()
    <type 'dict'>
    >>> options = CodecOptions(document_class=collections.OrderedDict)
    >>> decoded_doc = bson.BSON(data).decode(codec_options=options)
    >>> type(decoded_doc)
    <class 'collections.OrderedDict'>

:Parameters:
  - `codec_options` (optional): An instance of
    :class:`~bson.codec_options.CodecOptions`.

.. versionchanged:: 3.0
   Removed `compile_re` option: PyMongo now always represents BSON
   regular expressions as :class:`~bson.regex.Regex` objects. Use
   :meth:`~bson.regex.Regex.try_compile` to attempt to convert from a
   BSON regular expression to a Python regular expression object.

   Replaced `as_class`, `tz_aware`, and `uuid_subtype` options with
   `codec_options`.

.. versionchanged:: 2.7
   Added `compile_re` option. If set to False, PyMongo represented BSON
   regular expressions as :class:`~bson.regex.Regex` objects instead of
   attempting to compile BSON regular expressions as Python native
   regular expressions, thus preventing errors for some incompatible
   patterns, see `PYTHON-500`_.

.. _PYTHON-500: https://jira.mongodb.org/browse/PYTHON-500

◆ encode()

def encode (   cls,
  document,
  check_keys = False,
  codec_options = DEFAULT_CODEC_OPTIONS 
)
Encode a document to a new :class:`BSON` instance.

A document can be any mapping type (like :class:`dict`).

Raises :class:`TypeError` if `document` is not a mapping type,
or contains keys that are not instances of
:class:`basestring` (:class:`str` in python 3). Raises
:class:`~bson.errors.InvalidDocument` if `document` cannot be
converted to :class:`BSON`.

:Parameters:
  - `document`: mapping type representing a document
  - `check_keys` (optional): check if keys start with '$' or
    contain '.', raising :class:`~bson.errors.InvalidDocument` in
    either case
  - `codec_options` (optional): An instance of
    :class:`~bson.codec_options.CodecOptions`.

.. versionchanged:: 3.0
   Replaced `uuid_subtype` option with `codec_options`.

The documentation for this class was generated from the following file: