This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

About

The PyMongoBongo distribution contains wrappers to add some syntax sugar to PyMongo for easier interaction with the Mongo database using “python way”.

ChangeLog

0.1.3

  • Fixed __len__ method, broken by changes in pymongo 1.1.1. Now mongobongo depends on pymongo >= 1.1.1.

0.1.2

  • Fixed ordering in case, when ‘find_one’ is used.
  • Fixed default cursor ordering, now it is applied in the constructor.

0.1.1

  • Added automatic DBRef usage, when one document contains another. Here is an example:

    >>> author = Author(name = 'Alexander')
    >>> article =  Article(title = 'Life is miracle', author = author)
    >>> Author.objects.count()
    0
    >>> article.save()
    >>> article = Article.objects.find_one()
    >>> article.author.name
    'Alexander'
    >>> Author.objects.count()
    1
    

0.1.0

  • Basic support for documents with attributes.

Installation

If you have setuptools installed you should be able to do easy_install pymongo-bongo to install PyMongoBongo. Otherwise you can download the project source and do python setup.py install to install.

Dependencies

The PyMongoBongo depends on PyMongo >= 1.1.1

Additional dependencies are:

  • (to generate documentation) epydoc
  • (to auto-discover tests) nose

Examples

Here’s a basic example:

>>> from pymongo.connection import Connection
>>> from mongobongo import Document
>>> class Article(Document):
...     collection = 'articles'
...     def get_full_title(self):
...         return '%s (%s)' % (self.title, ', '.join(self.tags))
>>> connection = Connection("localhost", 27017)
>>> Article.objects.db = connection.test
>>> article = Article(author = 'Alex', title = 'Pink Pony\'s Life', tags = ['mongo', 'bongo'])
>>> article.save()
>>> articles = Article.objects.all()
>>> len(articles)
1
>>> article = Article(author = 'Alex', title = 'Long Long Python', tags = ['python', 'devel'], subtitle = 'Not such long')
>>> article.save()
>>> articles = Article.objects.all()
>>> len(articles)
2
>>> python_articles = Article.objects.find({'tags': 'python'})
>>> len(python_articles)
1
>>> python_articles[0].title
'Long Long Python'

Documentation

You will need epydoc installed to generate the documentation. Documentation can be generated by running python setup.py doc. Generated documentation can be found in the doc/ directory.

Testing

The easiest way to run the tests is to install nose (easy_install nose) and run nosetests or python setup.py test in the root of the distribution. Tests are located in the test/ directory.

Credits

  • Slava Vishnyakov, for ‘Document.remove’ method.

Wanna be listed here? Go to the GitHub, fork the project and send me patches :)

Release History

Release History

0.1.3

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pymongo-bongo-0.1.3.tar.gz (12.1 kB) Copy SHA256 Checksum SHA256 Source Nov 24, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting