access mongodb with handy utilities and fun
Project description
joker-mongodb
Access mongodb with handy utilities and fun.
Install
From PyPi using pip
:
python -m pip install joker-mongodb
Link to current virtual environment for development (run at project root directory):
pip install -e .
Python version requirement (plan)
0.2.0 Python 3.6+
0.3.0 Python 3.7+
0.4.0 Python 3.8+
0.5.0 Python 3.9+
0.6.0 Python 3.10+
Connnect to multiple mongo servers with MongoInterface
Example:
GlobalInterface
is defined in example/environ.py
as:
from functools import cached_property
import volkanic
from joker.mongodb.interfaces import MongoInterface
class GlobalInterface(volkanic.GlobalInterface):
package_name = 'example'
default_config = {
"mongoi": {
"local": {},
"remote": {
"host": "192.168.22.122",
"port": 27017
}
}
}
@cached_property
def mongoi(self) -> MongoInterface:
return MongoInterface.from_config(self.conf['mongoi'])
If a configuration file is found at one of the follow locations:
- Under your project directory in a development enviornment
~/.example/config.json5
/etc/example/config.json5
/example/config.json5
it will override GlobalInterface.default_config
.
Usage in code example/application.py
:
from bson import ObjectId
# noinspection PyUnresolvedReferences,PyPackageRequirements
from example.environ import GlobalInterface
gi = GlobalInterface()
def get_product(product_oid):
coll = gi.mongoi.get_coll('remote', 'example', 'products')
return coll.find_one({'_id': ObjectId(product_oid)})
if __name__ == '__main__':
print(get_product('60f231605e0a4ea3c6c31c13'))
Recent changes
See docs/changelog.txt
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
joker-mongodb-0.4.1.tar.gz
(31.3 kB
view details)
File details
Details for the file joker-mongodb-0.4.1.tar.gz
.
File metadata
- Download URL: joker-mongodb-0.4.1.tar.gz
- Upload date:
- Size: 31.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b24959c7e4d29cb29dabcfe4eb4b8511a2b47b161439ac690fabbb8cb3148a09 |
|
MD5 | 30579366fccf9de580a77e8ff31a1cf4 |
|
BLAKE2b-256 | de955bd40651278cad5ad1f957424f023964acf1cf64dcb84575404aba89b3e4 |