跳转到主要内容

Python的MongoDB驱动程序 <http://www.mongodb.org>

项目描述

信息::

有关更多信息,请参阅mongo网站。有关最新源代码,请参阅github

作者::

Mike Dirolf

维护者::

Bernie Hackett <bernie@mongodb.com>

关于

PyMongo发行版包含用于从Python与MongoDB数据库交互的工具。`bson`包是Python中对BSON格式的实现。`pymongo`包是MongoDB的本地Python驱动程序。`gridfs`包是在`pymongo`之上的`gridfs`实现。

PyMongo支持MongoDB 2.6、3.0、3.2、3.4和3.6。

支持 / 反馈

有关 PyMongo 的问题、疑问或反馈,请查看我们的支持渠道。请不要直接通过电子邮件向 PyMongo 开发者提出问题或疑问 - 您更有可能在 Google Groups 的mongodb-user 列表中获得答案。

错误 / 功能请求

认为找到了错误?想在 PyMongo 中看到新功能?请在我们的 issue 管理工具 JIRA 中创建一个案例

JIRA 中的所有驱动程序项目(例如 PYTHON、CSHARP、JAVA)和核心服务器(例如 SERVER)项目的错误报告是 公开的

如何寻求帮助

在打开问题时应包括以下所有信息

  • 详细的重现步骤,包括完整的回溯信息(如果可能的话)。

  • 使用的确切 Python 版本,包括补丁级别

    $ python -c "import sys; print(sys.version)"
  • 使用的确切 PyMongo 版本,包括补丁级别

    $ python -c "import pymongo; print(pymongo.version); print(pymongo.has_c())"
  • 操作系统和版本(例如 Windows 7、OSX 10.8 等)

  • 如果有的话,使用的 Web 框架或异步网络库及其版本(例如 Django 1.7、mod_wsgi 4.3.0、gevent 1.0.1、Tornado 4.0.2 等)

安全漏洞

如果您在驱动程序或任何其他 MongoDB 项目中识别到安全漏洞,请根据此处说明进行报告。

安装

可以使用 pip 安装 PyMongo

$ python -m pip install pymongo

或者从 setuptoolseasy_install 安装

$ python -m easy_install pymongo

您也可以下载项目源代码并执行

$ python setup.py install

不要 安装“bson”包。PyMongo 自带其自身的 bson 包;执行“easy_install bson”会安装一个与 PyMongo 不兼容的第三方包。

依赖项

PyMongo 支持 CPython 2.6、2.7、3.4+、PyPy 和 PyPy3。

可选依赖项

需要 GSSAPI 认证时,Unix 系统上需要 pykerberos,Windows 系统上需要 WinKerberos。正确的依赖项可以与 PyMongo 一起自动安装

$ python -m pip install pymongo[gssapi]

需要支持 mongodb+srv:// URI 时需要 dnspython

$ python -m pip install pymongo[srv]

根据使用的 Python 版本,可能需要 ipaddresscertifiwincertstore 以支持 TLS/SSL。必要的依赖项可以与 PyMongo 一起安装

$ python -m pip install pymongo[tls]

您可以使用以下命令自动安装所有依赖项

$ python -m pip install pymongo[gssapi,srv,tls]

其他可选包

  • backports.pbkdf2,通过 SCRAM-SHA-1 提高认证性能,这是 MongoDB 3.0+ 的默认认证机制。它特别提高了 Python 2.7.8 之前或 Python 3 之前版本的 Python 的性能。

  • monotonic 添加了对单调时钟的支持,在时钟调整频繁的环境中提高了可靠性。Python 3.3+ 中不需要。

其他依赖项包括

示例

这是一个基本示例(更多请参阅文档中的 示例 部分)

>>> import pymongo
>>> client = pymongo.MongoClient("localhost", 27017)
>>> db = client.test
>>> db.name
u'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), u'test'), u'my_collection')
>>> db.my_collection.insert_one({"x": 10}).inserted_id
ObjectId('4aba15ebe23f6b53b0000000')
>>> db.my_collection.insert_one({"x": 8}).inserted_id
ObjectId('4aba160ee23f6b543e000000')
>>> db.my_collection.insert_one({"x": 11}).inserted_id
ObjectId('4aba160ee23f6b543e000002')
>>> db.my_collection.find_one()
{u'x': 10, u'_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
...     print(item["x"])
...
10
8
11
>>> db.my_collection.create_index("x")
u'x_1'
>>> for item in db.my_collection.find().sort("x", pymongo.ASCENDING):
...     print(item["x"])
...
8
10
11
>>> [item["x"] for item in db.my_collection.find().limit(2).skip(1)]
[8, 11]

文档

您需要安装sphinx来生成文档。可以通过运行python setup.py doc来生成文档。生成的文档可以在doc/build/html/目录下找到。

测试

运行测试的最简单方法是,在发行版的根目录下运行python setup.py test。注意,您需要unittest2来在Python 2.6下运行测试。

验证PyMongo是否与Gevent的monkey-patching一起工作

$ python green_framework_test.py gevent

或者与Eventlet一起

$ python green_framework_test.py eventlet

项目详情


下载文件

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

源代码发行版

pymongo-amplidata-3.6.0.post1.tar.gz (584.2 kB 查看哈希值)

上传时间 源代码