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.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.2.tar.gz (6.8 kB view hashes)

Uploaded Source

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