ORM工具操作MongoDB数据库(含增删查改操作)

    技术2022-08-01  87

    ORM工具简介

    ORM是对象关系映射的简称,是一种程序技术,用于实现面向对象编程语言里不同类型的数据之间的转换。它使得从数据库中提取数据来构造对象或将对象数据保存(持久化)到数据库中实现起来更简单。

    mongoengine使用基本步骤

    导入mongoengine库连接MongoDB数据库定义对象—数据类,会自动在数据库中建立一个对应的集合;在程序或项目中直接调用对象及其方法来完成数据的持久化

    其对应的示例代码如下:

    from mongoengine import * connect('test') class User(Document): name = StringField() age = IntField() passwd = StringField()

    自定义对象实例的持久化相关方法:

    save() # 保存对象到数据库中 update() # 更新对象数据到数据库中 update_one() # 根据对象数据跟新一个匹配的文档 delete() # 删除对象数据(从数据库中) object # 查询数据库中符合条件的文档

    例子:使用orm工具进行学生表的增删查改

    效果:

    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()
    Processed: 0.009, SQL: 9