Skip to main content

Azure Cosmos DB for MongoDB client

Project description

Azure Cosmos DB for MongoDB client for CPython and MicroPython.

It has mongo shell like APIs.

Support platform

Install

CPython

$ python3 -m pip install nmongo

MicroPython

Go interactive shell and install with mip as follow.

>>> import mip
>>> mip.install("datetime")
>>> mip.install(""https://github.com/nakagami/nmongo/blob/master/nmongo.py"")

Example

Connect to Azure CosmosDB

>>> import nmongo
>>> db = nmongo.connect('xxx.mongo.cosmos.azure.com', 'somewhatdatabase', user='xxx', password='password', port=10255, use_ssl=True)
>>>

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
>>>

This driver uses OP_COMMNAD OP_COMMANDREPLY, which was added in MongoDB3.2 and removed in MongoDB 4.2. These documents have been removed too from the official documentation. Please let me know if there is any good documentation left somewhere.

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.6.0.tar.gz (12.0 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: nmongo-0.6.0.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for nmongo-0.6.0.tar.gz
Algorithm Hash digest
SHA256 7f0f8764dd5809c23c617db0bb29f47c087e3e74d74099064e8e643157e1da42
MD5 3fd941dc40cf5bb549a0a9692d57882c
BLAKE2b-256 49448c2d1569ef367f3ab97fb1b5ef65f4345cf5f646fd28dd53383031bf7af3

See more details on using hashes here.

Supported by

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