工具¶
已经编写了许多工具来处理 PyMongo . 如果您知道或已经创建了一个从Python使用MongoDB的工具,请在这里列出。
注解
我们尽量保持这份名单的最新情况。因此,最近没有更新或似乎未维护的项目偶尔会从列表中删除或移到后面(以防止列表变得太可怕)。
如果一个项目被删除,仍在开发或正在使用中,请让我们知道或添加回来。
类ORM层¶
有些人发现他们更喜欢使用比PyMongo提供的功能更多的层。通常,模型和验证之类的东西是需要的。为此,不同的作者编写了几个不同的类似ORM的层。
我们建议新用户从直接使用PyMongo开始,如本文其余部分所述。许多人发现PyMongo的特性已经足够满足他们的需要。即使您最终决定使用其中一个层,直接与驱动程序一起工作的时间也会增加您对MongoDB实际工作原理的理解。
- PyMODM公司
PyMODM 是一个基于PyMongo之上的类似ORM的框架。PyMODM由MongoDB,Inc.的工程师维护,并很快采用新的MongoDB特性。PyMODM是一个“核心”ODM,这意味着它提供了简单、可扩展的功能,其他库可以利用这些功能来瞄准Django这样的平台。同时,PyMODM功能强大,可以单独用于开发应用程序。完整的文档可在 readthedocs 除了 Gitter channel 讨论这个项目。
- 狐猴
Humongolus 是一个面向Python和MongoDB的轻量级ORM框架。这个名字来自MongoDB和 Homunculus (一个完整的人体模型的概念)。Humongolus允许您创建具有健壮验证的模型/模式。它尝试尽可能的python,并尽可能公开pymongo游标对象。代码可以下载 at GitHub . GitHub也提供教程和使用示例。
- 明
Ming (无情)是一个库,允许您在Python应用程序中的MongoDB数据库上强制实施模式。它是由 SourceForge 在他们迁移到MongoDB的过程中。见 introductory blog post 了解更多详细信息。
- MongoEngine
MongoEngine 是PyMongo顶部的另一个类似ORM的层。它允许您使用受Django ORM启发的语法为文档和查询集合定义模式。代码可在 GitHub ;有关详细信息,请参阅 tutorial .
- MotorEngine
MotorEngine 是MongoEngine到Motor的一个端口,用于与Tornado异步访问。它实现了相同的建模api以便于数据移植,这意味着MongoEngine中定义的模型可以在MotorEngine中读取。来源是 available on GitHub .
- 乌蒙果
uMongo is a Python MongoDB ODM. Its inception comes from two needs: the lack of async ODM and the difficulty to do document (un)serialization with existing ODMs. Works with multiple drivers: PyMongo, TxMongo, motor_asyncio, and mongomock. The source is available on GitHub
不再维护¶
- MongoKit
这个 MongoKit 框架是一个类似ORM的层,位于PyMongo之上。还有一个MongoKit google group .
- MongoAlchemy
MongoAlchemy 是PyMongo顶部的另一个类似ORM的层。其API的灵感来自 SQLAlchemy . 代码是可用的 on GitHub ;有关详细信息,请参阅 the tutorial .
- 米莫戈
minimongo 是MongoDB的轻量级python接口。它保留了pymongo的查询和更新API,并提供了许多附加特性,包括一个简单的面向文档的接口、连接池、索引管理以及集合和数据库命名助手。这个 source is on GitHub .
- 漫画
Manga 目标是在PyMongo之上创建一个更简单的类似ORM的层。定义模式的语法受Django-ORM的启发,但Pymongo的查询语言得到了维护。来源 is on GitHub .
框架工具¶
本节列出了为使用各种Python框架和库而设计的工具和适配器。
Djongo 是一个连接器,用于将Django与MongoDB一起用作数据库后端。使用Django管理GUI在MongoDB中添加和修改文档。这个 Djongo Source Code 托管在GitHub和 Djongo package 在pypi上。
Django MongoDB Engine 是Django的MongoDB数据库后端,它完全集成了它的ORM。了解更多信息 see the tutorial .
mango 为Django会话和身份验证提供MongoDB后端(绕过
django.db
完全)。Django MongoEngine is a MongoDB backend for Django, an example:. For more information http://docs.mongoengine.org/en/latest/django.html
mongodb_beaker 是一个允许使用MongoDB作为后端的项目 beaker's 缓存/会话系统。 The source is on GitHub .
Log4Mongo 是一个灵活的Python日志处理程序,可以使用普通集合和capped集合在MongoDB中存储日志。
MongoLog 是一个Python日志处理程序,它使用capped集合在MongoDB中存储日志。
c5t 是一个使用TurboGears和MongoDB的内容管理系统。
rod.recipe.mongodb 是一个用于下载和安装MongoDB的ZC构建方法。
repoze-what-plugins-mongodb 是否有一个项目支持使用MongoDB作为后端的插件
repoze.what
.mongobox 是一个从python应用程序中运行沙盒MongoDB实例的工具。
Flask-MongoAlchemy 使用MongoAlchemy为MongoDB添加Flask支持。
Flask-MongoKit 扩展烧瓶,以便更好地将MongoKit整合到烧瓶中。
Flask-PyMongo Flask PyMongo连接了Flask和PyMongo。