How to install mongoengine
- Download and install ActivePython
- Open Command Prompt
- Type
pypm install mongoengine
Depended by
- datastream
- django-hashlink
- django-mongo-auth
- django-mongonaut
- django-tastypie-mongoengine
- Flask-CuddlyRest
- flask-mongoengine
- galah
- githubsurvivor
- grate
- j25framework
- mongoadmin
- mongodbforms
- mongoengine-extras
- mongoengine-multilingual-field
- mongoforms_dfields
- nose-mongoengine
- pyramid_mongoengine
- quokka
- rockload
- tentd
- ua2.mongolog
Lastest release
About
MongoEngine is a Python Object-Document Mapper for working with MongoDB. Documentation available at http://mongoengine-odm.rtfd.org - there is currently a tutorial, a user guide and an API reference.
Installation
If you have setuptools you can use easy_install -U mongoengine. Otherwise, you can download the source from GitHub and run python setup.py install.
Dependencies
- pymongo 2.5+
- sphinx (optional - for documentation generation)
Examples
Some simple examples of what MongoEngine code looks like:
class BlogPost(Document): title = StringField(required=True, max_length=200) posted = DateTimeField(default=datetime.datetime.now) tags = ListField(StringField(max_length=50)) class TextPost(BlogPost): content = StringField(required=True) class LinkPost(BlogPost): url = StringField(required=True) # Create a text-based post >>> post1 = TextPost(title='Using MongoEngine', content='See the tutorial') >>> post1.tags = ['mongodb', 'mongoengine'] >>> post1.save() # Create a link-based post >>> post2 = LinkPost(title='MongoEngine Docs', url='hmarr.com/mongoengine') >>> post2.tags = ['mongoengine', 'documentation'] >>> post2.save() # Iterate over all posts using the BlogPost superclass >>> for post in BlogPost.objects: ... print '===', post.title, '===' ... if isinstance(post, TextPost): ... print post.content ... elif isinstance(post, LinkPost): ... print 'Link:', post.url ... print ... >>> len(BlogPost.objects) 2 >>> len(HtmlPost.objects) 1 >>> len(LinkPost.objects) 1 # Find tagged posts >>> len(BlogPost.objects(tags='mongoengine')) 2 >>> len(BlogPost.objects(tags='mongodb')) 1
Tests
To run the test suite, ensure you are running a local instance of MongoDB on the standard port, and run: python setup.py test.
Community
Contributing
We welcome contributions! see the`Contribution guidelines <https://github.com/MongoEngine/mongoengine/blob/master/CONTRIBUTING.rst>`_