Skip to main content

MongoEngine is a Python Object-Document Mapper for working with MongoDB.

Project description

Info:

MongoEngine is an ORM-like layer on top of PyMongo.

Repository:

https://github.com/MongoEngine/mongoengine

Author:

Harry Marr (http://github.com/hmarr)

Maintainer:

Ross Lawley (http://github.com/rozza)

https://secure.travis-ci.org/MongoEngine/mongoengine.png?branch=master

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

mongoengine-0.8.7.tgz (337.2 kB view details)

Uploaded Source

mongoengine-0.8.7.post2.tar.gz (337.3 kB view details)

Uploaded Source

mongoengine-0.8.7.1.tar.gz (337.3 kB view details)

Uploaded Source

File details

Details for the file mongoengine-0.8.7.tgz.

File metadata

  • Download URL: mongoengine-0.8.7.tgz
  • Upload date:
  • Size: 337.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mongoengine-0.8.7.tgz
Algorithm Hash digest
SHA256 41eb88fd97e1d733eae696abf115e312b82aacef0263de2e02f02d174d5b4b10
MD5 d6c4cf4957944af280bc6de90b50dc09
BLAKE2b-256 e8620295f30baf92bc832368ece9f553fa14694521972b5264c9b20f3ab0dc7c

See more details on using hashes here.

File details

Details for the file mongoengine-0.8.7.post2.tar.gz.

File metadata

File hashes

Hashes for mongoengine-0.8.7.post2.tar.gz
Algorithm Hash digest
SHA256 bfe188667f1d76412d092f265d4e0653bdb8d1e3a9dd5e39ab2f21dd1d434c55
MD5 f6d89d82ceed68ca1156c37a56ca5147
BLAKE2b-256 e79701f31e9a14fe68a6d7e16620d507d5bdeee93d58f0ca10c5f7cd498f2fca

See more details on using hashes here.

File details

Details for the file mongoengine-0.8.7.1.tar.gz.

File metadata

File hashes

Hashes for mongoengine-0.8.7.1.tar.gz
Algorithm Hash digest
SHA256 6c1bd0dfa3478f81c3ec62b2b87aa5ddd4aab916bab9cb262a2f936d5e64bc9e
MD5 616af8215c68990b977d84ee88622347
BLAKE2b-256 af9ea63aae4a9f27c512f4e56ab33bce4f9017c24260d7e274a1e0ab401b6d4f

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