MongoDB client for CPython and MicroPython.
It has mongo shell like APIs.
Support platform
CPython 3.4+ https://www.python.org
MicroPython (unix) http://docs.micropython.org/en/latest/unix/
Support database
MongoDB 3.2, 3.4, 3.6
Install
CPython
$ python3 -m pip install nmongo
MicroPython
$ micropython -m upip install micropython-errno \
micropython-os \
micropython-socket \
micropython-time \
micropython-datetime \
micropython-binascii \
micropython-random \
micropython-struct \
micropython-base64 \
micropython-unittest
$ micropython -m upip install nmongo
Example
Connect to Database
>>> import nmongo
>>> db = nmongo.connect('servername', 'somewhatdatabase')
>>>
SSL connection
>>> import nmongo
>>> db = nmongo.connect('servername', 'somewhatdatabase', use_ssl=True)
>>>
or
>>> import nmongo
>>> db = nmongo.connect('servername', 'somewhatdatabase', use_ssl=True, ssl_ca_certs='/path/to/something-cert.crt)
>>>
User Authentication
>>> import nmongo
>>> db = nmongo.connect('servername', 'somewhatdatabase', user='user', password='password')
>>>
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
>>>
See also mongo Shell Methods (Collection and Database sections).
Features Not Implemented
Common
GridFS
MicroPython
ssl
datetime.datetime
time.struct_time
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.4.1.tar.gz
(12.7 kB
view details)
File details
Details for the file nmongo-0.4.1.tar.gz.
File metadata
- Download URL: nmongo-0.4.1.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
708bcfbf05111f2ec27169f9dc5cfd48c1a7bcf17661ab531e12fccd1e07f004
|
|
| MD5 |
beb10d006b0148af2ab84cdd79098a88
|
|
| BLAKE2b-256 |
b78dcf74685744fe832840579c58f6ddb5c8776a37fff061f1bb2e2b5c72f22b
|