跳转到主要内容

最小化的Python ODM for MongoDB

项目描述

nanomongo 是一个最小化的Python MongoDB对象-文档映射器。它不试图成为一个功能完整的ODM,但如果您喜欢使用 pymongo api与python字典,并且经常需要编写验证器和 pymongo.Collection 包装器,那么nanomongo可能适合您的需求。

nanomongo具有完整的测试覆盖率。

快速链接: 源代码(github) - 文档(rtd) - 包(PyPi)

版本 0.4:实用方法 dbref_field_gettersBaseDocument.get_dbref 和错误修复 Python23文本类型兼容性

版本 0.3:nanomongo现在与python2兼容(定义您的文档时存在语法差异,请参阅文档)

https://travis-ci.org/eguven/nanomongo.png

功能

  • 单格式 Field 定义,具有类型检查和几个常见选项,如 requireddefaultauto_update

  • pymongo 相同的索引定义

  • 可选的 dot_notation

  • 对'$set'和'$unset'以及原子更新进行分配和删除(delta)跟踪;您要么插入要么更新

  • '$addToSet'文档

  • 即将推出 '$push' '$pull' 功能

# rough example
import pymongo
from nanomongo import Field, BaseDocument, Index

client = pymongo.MongoClient()

class MyDoc(BaseDocument, dot_notation=True, client=client, db='dbname'):
    foo = Field(str)
    bar = Field(int, required=False)

    __indexes__ = [
        Index('foo'),
        Index([('bar', 1), ('foo', -1)], unique=True),
    ]

doc = MyDoc(foo='L33t')
doc.bar = 42
doc.insert()

Doc.find_one({'foo': 'L33t'})

nanomongo与Python23兼容,我打算在底层透明地支持pymongo和motor。

欢迎贡献和见解!

作者:

Eren Güven (GitHub, Twitter)

许可:

Apache软件许可协议

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

nanomongo-0.4.1.tar.gz (20.0 kB 查看哈希值)

上传时间

构建分发

nanomongo-0.4.1-py2.py3-none-any.whl (16.0 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面