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.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.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
# 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.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
for document in documents:
print(document)
Load all documents from MongoDB into Document objects
from mongodriver.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")
documents = driver.load() # loads all documents from db into local Document objects
for document in documents:
print(document)
Add more keys into a document
from mongodriver.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.2.tar.gz
(3.0 kB
view hashes)
Built Distribution
Close
Hashes for mongodriver-1.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 235e214d78cb5cd4598a3a827faea0694b08efd949528bef5aa14a18a488eeb9 |
|
MD5 | cbb6a2ff26a0051dd21b33fab95d8456 |
|
BLAKE2b-256 | 8028c5e8849f447f4aabc88cfab3b7bfe24f4c2e13d41ae75e0a1551529ed361 |