Management
Document
subclasses utilizing the Collection
trait (which Queryable
inherits) gain class-level active record behaviours. Additionally, Collection
inherits Identified
as well, providing an automatically generated ObjectId field named id
which maps to the stored _id
key. 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 pymongo
package.
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.
Binding our Account
class 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_collection
method to provide you the correct, configured object.
Two class methods are provided for collection management requiring awareness of our metadata: create_collection
and 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_collection
and issue calls to the PyMongo API directly.
With the class bound you can now more easily interact with your documents in the collection.
Last updated