Cli tool to interact with mongodb
Project description
mongocat
Cli tool to interact with mongodb
Free software: MIT license
Documentation: https://mongocat.readthedocs.io.
Overview
Write new documents into collection.
$ export MONGOCAT_URL='mongodb://<username>:<password>@your-mongo-host'
$ mongocat -W -d tensim graphs
foo: bar # enter your object in minified yaml
5ec0a27324ec53bd2464c074 # prints object id on success
foo: baz
5ec0a27a24ec53bd2464c075
Read documents from a collection
$ mongocat -R -d tensim graphs
{'_id': ObjectId('5ec0a27324ec53bd2464c074'), 'foo': 'bar'}
{'_id': ObjectId('5ec0a27a24ec53bd2464c075'), 'foo': 'baz'}
Usage
$ mongocat --help
Usage: mongocat [OPTIONS] COLLECTION
Read/write to mongodb COLLECTION.
Options:
-R, --read
-W, --write
-p, --parser [json|yaml]
-u, --url TEXT MongoDB URI. format:
mongodb://[username:password@]host1[:port1]...
-d, --database TEXT Database name
--help Show this message and exit.
Combine with the power of unix
Dump running processes to db
$ ps | jc --ps | jq -cM '.[]' | mongocat -WR -d tensim processes
5ec0aeef4814de15eb742155
5ec0aeef4814de15eb742156
5ec0aeef4814de15eb742157
5ec0aeef4814de15eb742158
5ec0aeef4814de15eb742159
{'_id': ObjectId('5ec0aeef4814de15eb742155'), 'pid': 195657, 'tty': 'pts/8', 'time': '00:01:05', 'cmd': 'fish'}
{'_id': ObjectId('5ec0aeef4814de15eb742156'), 'pid': 396223, 'tty': 'pts/8', 'time': '00:00:00', 'cmd': 'ps'}
{'_id': ObjectId('5ec0aeef4814de15eb742157'), 'pid': 396224, 'tty': 'pts/8', 'time': '00:00:00', 'cmd': 'jc'}
{'_id': ObjectId('5ec0aeef4814de15eb742158'), 'pid': 396225, 'tty': 'pts/8', 'time': '00:00:00', 'cmd': 'jq'}
{'_id': ObjectId('5ec0aeef4814de15eb742159'), 'pid': 396226, 'tty': 'pts/8', 'time': '00:00:00', 'cmd': 'mongocat'}
Curl straight into DB
$ curl 'https://api.github.com/repos/DaniloZZZ/mongocat/commits?per_page=5' |\
jq -cM '.[] | {msg: .commit.message, name: .commit.committer.name}' |\
mongocat -WR -d tensim commits
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11145 100 11145 0 0 47628 0 --:--:-- --:--:-- --:--:-- 47628
5ec0aa4ac6ddf6dc2bf2def9
5ec0aa4ac6ddf6dc2bf2defa
5ec0aa4ac6ddf6dc2bf2defb
{'_id': ObjectId('5ec0aa4ac6ddf6dc2bf2def9'), 'msg': 'First working version', 'name': 'Danil Lykov'}
{'_id': ObjectId('5ec0aa4ac6ddf6dc2bf2defa'), 'msg': 'upd deps', 'name': 'Danil Lykov'}
{'_id': ObjectId('5ec0aa4ac6ddf6dc2bf2defb'), 'msg': 'init', 'name': 'Danil Lykov'}
- Tools used:
TODO
[ ] Option to suppress print of added document
[ ] Finding command that filters documents aka mongo grep
[ ] Deleting documens using ids from stdin. Delete some: mongocat --find 'blah' | mongocat --delete
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.1.0 (2020-05-16)
First release on PyPI.
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
mongocat-0.1.3.tar.gz
(12.7 kB
view hashes)
Built Distribution
Close
Hashes for mongocat-0.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b0e6ff0756afcdcff3f4a50df009baad1176c45bc2076cc2e61bf1ba3d1fb05 |
|
MD5 | b3c38fac9cbea3a0cb2f3675875497bb |
|
BLAKE2b-256 | 96b43e72a8138f89f83679973bcb894d6720394d31789e78b5e8ab2c1a54cb23 |