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