Documentsubclasses utilizing the
Queryableinherits) gain class-level active record behaviours. Additionally,
Identifiedas well, providing an automatically generated ObjectId field named
idwhich maps to the stored
_idkey. There is a fairly substantial number of collection metadata and calculated properties available.
Before much can be done, it will be necessary to get a reference to a MongoDB connection or database object. Begin by importing the client object from the
from pymongo import MongoClient
Then, open a connection to a MongoDB server, here, running locally. We can save some space by defining the database to utilize at the same time, and requesting a handle to the default database back without needing to refer to it by name a second time.
client = MongoClient('mongodb://localhost/test')
db = client.get_database()
Accountclass to a database will look up the collection name to use from the
__collection__attribute. Alternatively you could bind directly to a specific collection. Either way, binding will automatically apply the metadata options for data access and validation and enable the
get_collectionmethod to provide you the correct, configured object.
Two class methods are provided for collection management requiring awareness of our metadata:
create_indexes. Creating the collection will create any declared indexes automatically by default. For other collection-level management operations it is recommended to utilize
get_collectionand issue calls to the PyMongo API directly.
With the class bound you can now more easily interact with your documents in the collection.