Sytax sugar for PyMongo and MongoDB <http://www.mongodb.org>
Project description
- Info:
See the mongo site for more information. See github for the latest source.
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:
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 :)
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
File details
Details for the file pymongo-bongo-0.1.3.tar.gz
.
File metadata
- Download URL: pymongo-bongo-0.1.3.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e52687fa4140393b7f99d1c0ce81561c5ef98260140c227e320d4406d6c71fe3 |
|
MD5 | 570890da7be686a0e83951cb9a0c36c8 |
|
BLAKE2b-256 | 33fe479b2085406a3d529318871eee1a34141c1cbcd16ca0a387c748caf4d9fa |