MongoEngine – 动态模式

MongoEngine – 动态模式

MongoDB数据库的优势之一是它支持动态模式。要创建一个支持动态模式的类,可以从DynamicDocument基类中将其子类化。以下是具有动态模式的学生类-

>>> class student(DynamicDocument):
... name=StringField()

第1步是像以前一样,添加第一个文档。

>>> s1=student()
>>> s1.name="Tara"
>>> connect('mydb')
>>> s1.save()

现在给第二个文件添加另一个属性并保存。

>>> s2=student()
>>> setattr(s2,'age',20)
>>> s2.name='Lara'
>>> s2.save()

在数据库中,学生集合将显示两个具有动态模式的文件。

MongoEngine - 动态模式

文档类的元字典可以通过指定max_documents和max_size来使用Capped Collection。

max_documents - 允许存储在集合中的最大数量的文档。

max_ size - 集合的最大尺寸,以字节为单位。max_size在MongoDB内部和mongoengine之前被四舍五入到256的下一个倍数。

如果没有指定max_size,但指定了max_documents,max_size默认为10485760字节(10MB)。

文档类的其他参数列在下面-

对象 一个QuerySet对象,在访问时被懒散地创建。
cascade_save() 递归地保存文档上的任何引用和通用引用。
clean() 钩子,用于在运行验证之前进行文档级别的数据清理。
create_index() 如果需要的话,创建给定的索引。
drop_collection() 从数据库中删除与该文档类型相关的整个集合。
from_json() 将json数据转换为一个Document实例。
modify() 对数据库中的文档进行原子式更新,并使用更新的版本重新加载文档对象。
pk 获取主键。
save() 将文档保存到数据库中。如果文档已经存在,它将被更新,否则它将被创建。返回保存的对象实例。
delete() 从数据库中删除当前文档。
insert() 执行批量插入操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程