Skip to main content

Minimal database Model management for MongoDB

Project description

minimongo

Info:

Minimal database Model management for MongoDB.

Author:

Steve Lacy (github@slacy.com)

About

minimongo is a lightweight, schemaless, Pythonic Object-Oriented interface to MongoDB.

It provides a very thin, dynamicly typed (schema-less) object management layer for any data stored in any MongoDB collection. minimongo directly calls the existing pymongo query syntax.

minimongo can easily layer on top of existing MongoDB collections, and will work properly with almost any existing schema, even from third party applications.

Installation

If you have setuptools you can use easy_install -U minimongo. Otherwise, you can download the source from GitHub and run python setup.py install.

Dependencies

  • pymongo 1.9+

  • sphinx (optional – for documentation generation)

Example

Here’s a very brief example of creating an object, querying for it, modifying a field, and then saving it back again:

from minimongo import Model, Index

class Foo(Model):
    class Meta:
        # Here, we specify the database and collection names.
        # A connection to your DB is automatically created.
        database = "minimongo"
        collection = "rocks"

        # Now, we programatically declare what indices we want.
        # The arguments to the Index constructor are identical to
        # the args to pymongo"s ensure_index function.
        indices = (
            Index("a"),
        )


if __name__ == "__main__":
    # Create & save an object, and return a local in-memory copy of it:
    foo = Foo({"x": 1, "y": 2}).save()

    # Find that object again, loading it into memory:
    foo = Foo.collection.find_one({"x": 1})

    # Change a field value, and save it back to the DB.
    foo.other = "some data"
    foo.save()

Feedback welcome!

Please email github@slacy.com with comments, suggestions, or comment via http://github.com/slacy/minimongo

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

minimongo-0.2.8.tar.gz (15.1 kB view details)

Uploaded Source

File details

Details for the file minimongo-0.2.8.tar.gz.

File metadata

  • Download URL: minimongo-0.2.8.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for minimongo-0.2.8.tar.gz
Algorithm Hash digest
SHA256 71300d93bee666456dfe65de03cc79be1ffb64b3e25d18c3f32e59c964e6b3d7
MD5 43aae3f41b74461ff2d655f938670011
BLAKE2b-256 fd37ee62e20d23c0871bf6f4fbd92fede186a393eaeaaaa1eae1628a807936a1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page