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.2.1.tar.gz
(12.8 kB
view hashes)
Built Distribution
Close
Hashes for mongocat-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2d14c759c1da6e8dc5dae611a169e1872428b6ee66e795d7206d3881eb6986b |
|
MD5 | 287a799d5af8ac531193fa2435aef49f |
|
BLAKE2b-256 | 71e949e1fd78be8c5e343cd7b2d94bbc89f1443341f9e9be4d64c0372a9e71ff |