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
CPython 3.11+ https://www.python.org
MicroPython
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
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
nmongo-0.6.0.tar.gz
(12.0 kB
view details)
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
7f0f8764dd5809c23c617db0bb29f47c087e3e74d74099064e8e643157e1da42
|
|
MD5 |
3fd941dc40cf5bb549a0a9692d57882c
|
|
BLAKE2b-256 |
49448c2d1569ef367f3ab97fb1b5ef65f4345cf5f646fd28dd53383031bf7af3
|