Object-oriented interactions with MongoDB
Project description
MongoDriver
An object-oriented package for interacting with MongoDB documents
Features
- Object-oriented
- Update documents without needing to use json
- Use pymongo within the package as well
- Built with type hints
- Removes a lot of boilerplate code
- So simple it works like ✨magic ✨
Quickstart
Install MongoDriver
python3 -m pip install mongodriver
from mongodriver import Driver
driver = Driver(
connection_url="mongodb+srv://example:SecurePassword@testcluster.e2lhq.mongodb.net/myFirstDatabase?retryWrites=true&w=majority",
db_name="example_db", collection_name="example_collection")
Examples
Here is a basic example on how to create a new document and then interact it
from mongodriver import Driver
driver = Driver(
connection_url="mongodb+srv://example:SecurePassword@testcluster.e2lhq.mongodb.net/myFirstDatabase?retryWrites=true&w=majority",
db_name="example_db", collection_name="example_collection")
new_document = driver.create({"foo": 1, "bar": 2})
# print the value of "foo"
print(new_document.foo) # 1
# change the value of "foo"
new_document.foo = 2
print(new_document.foo) # 2
# OR
new_document.set({"foo": 2})
# you can also change the value of an attribute with the Driver.Variable.update() method
new_document.foo.update(3)
print(new_document.foo) # 3
Find a document
from mongodriver import Driver
driver = Driver(
connection_url="mongodb+srv://example:SecurePassword@testcluster.e2lhq.mongodb.net/myFirstDatabase?retryWrites=true&w=majority",
db_name="example_db", collection_name="example_collection")
search_query = {"foo": 1}
documents = driver.find(search_query) # returns a list of documents
# or driver.find_one(search_query) to get only one document
for document in documents:
print(document)
Add more keys into a document
from mongodriver import Driver
driver = Driver(
connection_url="mongodb+srv://example:SecurePassword@testcluster.e2lhq.mongodb.net/myFirstDatabase?retryWrites=true&w=majority",
db_name="example_db", collection_name="example_collection")
json_document = {"foo": 1, "bar": 2}
new_document = driver.create(json_document)
new_document.set({"new_val1": 15, "new_val2": 10})
# OR
new_document.new_val1 = 15
new_document.new_val2 = 10
print(new_document)
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
mongodriver-1.3.4.tar.gz
(6.9 kB
view details)
Built Distribution
File details
Details for the file mongodriver-1.3.4.tar.gz
.
File metadata
- Download URL: mongodriver-1.3.4.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.28.0 requests-toolbelt/0.9.1 urllib3/1.26.16 tqdm/4.62.3 importlib-metadata/4.10.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3814090d13aaed2ed61fbc97b77b8b2702e046f78f6844b6243e233d8ddbcb73 |
|
MD5 | 384d41b0132b7054849c7c8f9a79aa11 |
|
BLAKE2b-256 | 2d2b2eccfed5790bf11cb9f0eb484b659a7ff65fc627a670fb0afb3fb2c1a724 |
File details
Details for the file mongodriver-1.3.4-py3-none-any.whl
.
File metadata
- Download URL: mongodriver-1.3.4-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.28.0 requests-toolbelt/0.9.1 urllib3/1.26.16 tqdm/4.62.3 importlib-metadata/4.10.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee68e8ed64695aa79934ee57d6f53830cbceae1ebdc490ca9ec63c1cdeaca70c |
|
MD5 | 3924138120cc1ba2f4eb7b9c1edae299 |
|
BLAKE2b-256 | a56fae6ec24943159100ae4f4c19fe6bf2257ddafc4632e3cf256eff8be69a50 |