ORM是对象关系映射的简称,是一种程序技术,用于实现面向对象编程语言里不同类型的数据之间的转换。它使得从数据库中提取数据来构造对象或将对象数据保存(持久化)到数据库中实现起来更简单。
其对应的示例代码如下:
from mongoengine import * connect('test') class User(Document): name = StringField() age = IntField() passwd = StringField()自定义对象实例的持久化相关方法:
save() # 保存对象到数据库中 update() # 更新对象数据到数据库中 update_one() # 根据对象数据跟新一个匹配的文档 delete() # 删除对象数据(从数据库中) object # 查询数据库中符合条件的文档效果:
import random from mongoengine import * connect('test') class Stu(Document): sid = SequenceField() name = StringField() passwd = StringField() def introduce(self): print('序号:',self.sid,end=' ') print('姓名:',self.name,end=' ') print('密码:',self.passwd) def set_pw(self,pw): if pw: self.passwd = pw self.save() if __name__ == '__main__': # 使用文档前,清空文档 st = Stu.objects() st.delete() print('插入一个文档..') stu = Stu(name='lilet', passwd='123123') stu.save() stu = Stu.objects(name='lilet').first() if stu: stu.introduce() print('插入多条文档..') Stu(name ='zhangsan',passwd='123456').save() Stu(name ='liming',passwd='123465').save() print('查询刚刚插入多条的文档.....') stu = Stu.objects() for item in stu: item.introduce() print('更新修改文档....') stu = Stu.objects(name='lilet').first() if stu: stu.name = 'wangwu' stu.save() stu.set_pw('cccc') stu.introduce() print('删除一个文档.....') stu = Stu.objects(name='wangwu').first() stu.delete() stus = Stu.objects() for stu in stus: stu.introduce()