access mongodb with handy utilities and fun
Project description
joker-mongodb
Access mongodb with handy utilities and fun.
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
version 0.1.4
- add
MongoDocumentSchemator
andMongoFieldSchemator
version 0.1.3
- add
TransactionHelper
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.0.tar.gz
(30.7 kB
view details)
File details
Details for the file joker-mongodb-0.4.0.tar.gz
.
File metadata
- Download URL: joker-mongodb-0.4.0.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebe6944e7c925ac3de46310d0260621f972400f3b9f1c16dcf5c3beb7ba91a9e |
|
MD5 | 086c3f6a44eefc8875df4ab84931ce20 |
|
BLAKE2b-256 | 593e1b18ede1763274f7463bbe93a11bcb925d94602f42811634ef58c19ffdd6 |