weaver.database.mongodb ======================= .. py:module:: weaver.database.mongodb Module Contents --------------- .. py:data:: LOGGER .. py:data:: MongoDB :type: Optional[pymongo.database.Database] :value: None .. py:data:: MongodbStores .. py:data:: AnyMongodbStore .. py:class:: MongoDatabase(container: weaver.typedefs.AnySettingsContainer) Return the unique identifier of db type matching settings. .. py:attribute:: _revision :value: 1 .. py:attribute:: _database :value: None .. py:attribute:: _settings :value: None .. py:attribute:: _stores :value: None .. py:attribute:: type :value: 'mongodb' .. py:method:: reset_store(store_type: weaver.database.base.StoreSelector) -> AnyMongodbStore .. py:method:: get_store(store_type: weaver.database.base.StoreBillsSelector, *store_args: Any, **store_kwargs: Any) -> weaver.store.mongodb.MongodbBillStore get_store(store_type: weaver.database.base.StoreQuotesSelector, *store_args: Any, **store_kwargs: Any) -> weaver.store.mongodb.MongodbQuoteStore get_store(store_type: weaver.database.base.StoreJobsSelector, *store_args: Any, **store_kwargs: Any) -> weaver.store.mongodb.MongodbJobStore get_store(store_type: weaver.database.base.StoreProcessesSelector, *store_args: Any, **store_kwargs: Any) -> weaver.store.mongodb.MongodbProcessStore get_store(store_type: weaver.database.base.StoreServicesSelector, *store_args: Any, **store_kwargs: Any) -> weaver.store.mongodb.MongodbServiceStore get_store(store_type: weaver.database.base.StoreVaultSelector, *store_args: Any, **store_kwargs: Any) -> weaver.store.mongodb.MongodbVaultStore Retrieve a store from the database. :param store_type: type of the store to retrieve/create. :param store_args: additional arguments to pass down to the store. :param store_kwargs: additional keyword arguments to pass down to the store. .. py:method:: get_session() -> Any .. py:method:: get_information() -> weaver.typedefs.JSON Obtain information about the database implementation. :returns: JSON with parameters: ``{"version": "", "type": ""}``. .. py:method:: is_ready() -> bool .. py:method:: run_migration() -> None Runs any necessary data-schema migration steps. .. py:class:: DecimalCodec Converter that will automatically perform necessary encoding/decoding of decimal types for `MongoDB`. .. py:attribute:: python_type The Python type to be converted into something serializable. .. py:attribute:: bson_type The BSON type to be converted into our own type. .. py:method:: transform_python(value: decimal.Decimal) -> bson.Decimal128 Convert the given Python object into something serializable. .. py:method:: transform_bson(value: bson.Decimal128) -> decimal.Decimal Convert the given BSON value into our own type. .. py:function:: get_mongodb_connection(container: weaver.typedefs.AnySettingsContainer) -> pymongo.database.Database Obtains the basic database connection from settings. .. py:function:: get_mongodb_engine(container: weaver.typedefs.AnySettingsContainer) -> pymongo.database.Database Obtains the database with configuration ready for usage.