Skip to main content

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


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)

Uploaded Source

Built Distribution

mongodriver-1.3.4-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

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

Hashes for mongodriver-1.3.4.tar.gz
Algorithm Hash digest
SHA256 3814090d13aaed2ed61fbc97b77b8b2702e046f78f6844b6243e233d8ddbcb73
MD5 384d41b0132b7054849c7c8f9a79aa11
BLAKE2b-256 2d2b2eccfed5790bf11cb9f0eb484b659a7ff65fc627a670fb0afb3fb2c1a724

See more details on using hashes here.

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

Hashes for mongodriver-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ee68e8ed64695aa79934ee57d6f53830cbceae1ebdc490ca9ec63c1cdeaca70c
MD5 3924138120cc1ba2f4eb7b9c1edae299
BLAKE2b-256 a56fae6ec24943159100ae4f4c19fe6bf2257ddafc4632e3cf256eff8be69a50

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page