Ming-MongoDBMongoDB 的类 ORM 层

联合创作 · 2023-09-30 23:15

Ming,是一个对象文件映射器(类似 ORM 但对象是基于数据库的文件),为 MongoDB 而开发。Ming 拓展于pymongo,提供如下功能:

  • 声明性模型

  • 模式验证与转换

  • 模式演变

  • 纯 InMemory MongoDB 的实现

  • 单元工作

  • 标识映射

  • 多对一、一对多和多对多的关系

开始:

$ pip install ming

连接到 MongoDB:

from ming import create_datastore
from ming.odm import ThreadLocalODMSession
session = ThreadLocalODMSession(
    bind=create_datastore('odm_welcome')
)

使用模型:

from ming import schema
from ming.odm import FieldProperty
from ming.odm.declarative import MappedClass
class WikiPage(MappedClass):
    class __mongometa__:
        session = session
        name = 'wiki_page'
    _id = FieldProperty(schema.ObjectId)
    title = FieldProperty(schema.String(required=True))
    text = FieldProperty(schema.String(if_missing=''))
浏览 1
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报