MongoEngine 文档类


MongoEngine 被称为 ODM ( Object Document Mapper )。 MongoEngine 定义了一个 Document 类。这是一个基类,其继承类用于定义存储在 MongoDB 数据库中的文档集合的结构和属性。该子类的每个对象在数据库中形成集合中的文档。

此 Document 子类中的属性是各种 Field 类的对象。下面是一个典型的 Document 类的例子:

from mongoengine import *
class Student(Document):
    studentid = StringField(required=True)
    name = StringField(max_length=50)
    age = IntField()
    def _init__(self, id, name, age):
        self.studentid=id,
        self.name=name
        self.age=age

这看起来类似于 SQLAlchemy ORM 中的模型类。默认情况下,数据库中 Collection 的名称是 Python 类的名称,其名称转换为小写。但是,可以在 Document 类的元属性中指定不同的集合名称。

meta={collection': 'student_collection'}

现在声明这个类的对象并调用 save() 方法将文档存储在数据库中。

s1=Student('A001', 'Tara', 20)
s1.save()