Skip to main content

DocumentDB client

Project description

DocumentDB (https://documentdb.io/) client for CPython and MicroPython.

Support platform

Install

CPython

$ python3 -m pip install nmongo

or copy https://raw.githubusercontent.com/nakagami/nmongo/master/nmongo.py to python path directry.

MicroPython

Go interactive shell and install with mip as follow.

>>> import mip
>>> mip.install("datetime")
>>> mip.install("ssl")
>>> mip.install("https://raw.githubusercontent.com/nakagami/nmongo/master/nmongo.py")

Example

Connect to DocumentDB

>>> import nmongo
>>> db = nmongo.connect('server', 'somewhatdatabase', user='xxx', password='password', port=10255)
>>>

Create

>>> db.fruits.insert({'name': 'apple', 'price': 200})
1
>>> db.fruits.insert([{'name': 'orange', 'price': 100}, {'name': 'banana', 'price': 50}])
2
>>> db.fruits.count()
3
>>>

Read

>>> cur = db.fruits.find({'name': 'banana'})
>>> cur.fetchone()
{'price': 50, '_id': ObjectId("5826b2313d28909ce9f6ea63"), 'name': 'banana'}
>>> cur = db.fruits.find()
>>> cur.fetchall()
[{'price': 200, '_id': ObjectId("5826b2273d28909ce9f6ea61"), 'name': 'apple'}, {'price': 100, '_id': ObjectId("5826b2313d28909ce9f6ea62"), 'name': 'orange'}, {'price': 50, '_id': ObjectId("5826b2313d28909ce9f6ea63"), 'name': 'banana'}]
>>>

Update

>>> db.fruits.update({'name': 'banana'}, {'$inc': {'price': 20}})
{'nModified': 1, 'ok': 1, 'n': 1}
>>> cur = db.fruits.find({'name': 'banana'})
>>> cur.fetchone()
{'_id': ObjectId("5823dd6d3d28909ce9f6e99c"), 'name': 'banana', 'price': 70}
>>>

Delete

>>> db.fruits.remove({'name': 'banana'})
1
>>> db.fruits.count()
2

Count each collection records

>>> for collection in db.getCollections():
...     print(collection.name, collection.count())
...
fruits 3
>>> db.getCollection('fruits').count()
3
>>>

Features Not Implemented

  • GridFS

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

nmongo-0.7.0.tar.gz (11.8 kB view details)

Uploaded Source

File details

Details for the file nmongo-0.7.0.tar.gz.

File metadata

  • Download URL: nmongo-0.7.0.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for nmongo-0.7.0.tar.gz
Algorithm Hash digest
SHA256 d343e6c0d638766542daf42c473d6011a67f08e99b646609a7b48c40bc5a6c5c
MD5 5b7ba057d52cf9ce1c188ee39302dc86
BLAKE2b-256 f2a59d23627d5db3936137ff15ab6a02babd877b25da0d53458ad5e245cd4b7d

See more details on using hashes here.

Supported by

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