Python的MongoDB驱动程序 <http://www.mongodb.org>
项目描述
- 信息::
- 维护者::
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
或者从 setuptools 的 easy_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 版本,可能需要 ipaddress 和 certifi 或 wincertstore 以支持 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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bfc1588e9c8730ce68cf95d47987dc1cfd17acb5c6c22ce01d3c102d29d15cbe |
|
MD5 | b718420743cd94e39f57b92b66331e51 |
|
BLAKE2b-256 | dbdf678a6e25ef941a8f8c496aa51bf0f9892432332df008df2aab2aff08a15a |