Skip to main content

Creates a uml-like diagram for a nested mongodb document

Project description

If you have a mongodb database that you wish to document, a good
starting point might be to install mongodoc and use the mongodoc
command::

% mongodoc test

After answering a few questions, you will get an output file that
will look something like this::


_____________________________________________
| hobbies |
|_____________________________________________|
+--| _id: <class 'bson.objectid.ObjectId'> |
| | title: <type 'unicode'> |
| |_____________________________________________|
|
| _____________________________________________
| | occupations |
| |_____________________________________________|
+--+--| _id: <class 'bson.objectid.ObjectId'> |
| | | duties: <type 'list'> |
| | | title: <type 'unicode'> |
| | |_____________________________________________|
| |
| | ____________________________________________________________________________________
| | | people |
| | |____________________________________________________________________________________|
| | | _id: <class 'bson.objectid.ObjectId'> ________________________________|
| | | address: <type 'dict'> | address ||
| | | first: <type 'unicode'> |________________________________||
| +--| hobby: <class 'bson.objectid.ObjectId'> | number: <type 'unicode'> ||
| | last: <type 'unicode'> | state: <type 'unicode'> ||
+-----| occupation: <class 'bson.objectid.ObjectId'> | street: <type 'unicode'> ||
| | zip: <type 'unicode'> ||
| |________________________________||
|____________________________________________________________________________________|


The document in the people collection has a sub-document for
the value of the address field, so it appears as a box within
the people diagram. You will get one of these diagrams for each
collection in the db. MongoDoc found that there is a probable
link between the _id of occupations and the occupation field
of the people doc. If the find links feature is not working
for you, you can disable it with the --find-links option

The mongodoc command has a few options for connecting to the db::

% mongodoc -h
usage: mongodoc [-h] [--port PORT] [--host HOST] [--username USERNAME]
[--password PASSWORD] [--file FILE]
name

Document a mongo db

positional arguments:
name The name of the mongo db to document

optional arguments:
-h, --help show this help message and exit
--port PORT The db port number
--host HOST The db host
--username USERNAME The username for authenticating to the db
--password PASSWORD The password for authenticating to the db
--file FILE The name of the output file
--find-links Enter no if you don't want to find links.



Changelog
=========

0.3.3
-------------------
- Bugfix: didn't show sub documents when the subdocs were longer than the parent doc.
0.3.2
-------------------
- Bugfix: bombed when the value of a field was {}

0.3.1
-------------------
- Forgot to update the changelog on 0.3
- Minor edit in README.rst.

0.3
-------------------
- Changed the console command
from doc-db to mongodoc
- Fixed easy_install problem
because of a missing HISTORY
file - OOPS!

0.2b
-------------------
- Fixed a bug in counting similar docs
- When the user keeps saying no to the
'use this doc' prompt

0.2a
-------------------
- Added a simple method to help find the most
representative doc in each collection
- Added a class that finds links between
collections and draws lines between them


0.1
-------------------

- Initial release

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

mongodoc-0.3.3.tar.gz (6.9 kB view details)

Uploaded Source

File details

Details for the file mongodoc-0.3.3.tar.gz.

File metadata

  • Download URL: mongodoc-0.3.3.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mongodoc-0.3.3.tar.gz
Algorithm Hash digest
SHA256 c442cdf596ee5e8048ee062be71b7fbae04d3c146d00673e22229e79ea7d0e93
MD5 c627761b50e36258bd32cf326dc422a2
BLAKE2b-256 b2be7d39ade1e2d994e99102bd4444a27b5ec1c92d42f2516e106977e35f5910

See more details on using hashes here.

Supported by

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