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

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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章