Ming-MongoDB - MongoDB 的类 ORM 层


未知
跨平台
Python

软件简介

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=''))