A PySelfMongo client for the [MongoDB][mongo] database is a thin client that connects to a mongo server and provides a simple interface to the database. A client is written as a singleton to make sure that only one connection is open at a time. The connection timeout is taken care by checking the server info every time a request is made. A new connection is made if the server info is not available or the connection has timed out.
Project description
Py Self Mongo
A self mongo client for the [MongoDB][mongo] database is a thin client that connects to a mongo server and provides a simple interface to the database. A client is written as a singleton to make sure that only one connection is open at a time. The connection timeout is taken care by checking the server info every time a request is made. A new connection is made if the server info is not available or the connection has timed out. The project is developed using poetry and the [Pytest][pytest] framework.
How to use
- Create a config file with name
.mongo_config.yaml
in the root directory of the project. The config file should contain the following fields:
mongo:
host:
localhost
port:
27017
db_name:
db_name
password:
password
username:
username
The host can be an IP address or a hostname. E.g. In case of a hosted mongo server in aws, the hostname is ec2-*-**-**-**.**-east-2.compute.amazonaws.com
.
The client can be used as follows:
from pyselfmongo import PySelfMongo
mongo_client = PySelfMongo()
mongo_client.get_collection('collection_name')
- If no config file is found, the client will try to connect to the localhost with default port 27017. In this case the client can be intialized as follows:
from pyselfmongo import PySelfMongo
mongo_client = PySelfMongo(db_name='db_name', username='user_name', password='password')
mongo_client.get_collection('collection_name')
Methods and attributes
get_collection(collection_name)
: Returns a collection object.get_document_by_id(collection_name, document_id)
: Returns a document object.get_document_by_query(collection_name, query)
: Returns a list of document objects.get_document_by_query_with_projection(collection_name, query, projection)
: Returns a list of document objects.get_all_document_generatosr(collection_name, filter)
: Returns a generator of all documents in the collection.delete_document(collection_name, document_id)
: Deletes a document.delete_document_by_id(collection_name, document_id)
: Deletes a document.update_document_by_field(collection_name, field, value)
: Updates a document
Installation
Install using pip:
$ pip install pyselfmongo
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for PySelfMongo-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a0cce68543f9415e2468151ebc8c9410e0c9bda8c0bd7d9c48f2cb2c5a5f471 |
|
MD5 | ef3e3a8e1d77440a57b04c8371d4b18e |
|
BLAKE2b-256 | c10cc8f25d6fa69f882c2f19e967fdd4acfc67518b7af2663650e68cd1e7c4b1 |