跳转到主要内容

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

项目描述

PyMongo

PyPI Version Python Versions Monthly Downloads API Documentation Status

关于

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

PyMongo 支持 MongoDB 3.6、4.0、4.2、4.4、5.0、6.0、7.0 和 8.0。

支持/反馈

有关 PyMongo 的问题、疑问或反馈,请查看我们的支持渠道。请不要通过电子邮件直接联系任何 PyMongo 开发者解决问题或提问 - 您更有可能在 StackOverflow(使用 "mongodb" 标签)上得到答案。

错误/功能请求

认为找到了错误?想在 PyMongo 中看到新功能?请在我们的问题管理工具 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

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

pip install .

请勿安装 pypi 上的 "bson" 包。PyMongo 附带自己的 bson 包;运行 "pip install bson" 会安装一个与 PyMongo 不兼容的第三方包。

依赖关系

PyMongo 支持 CPython 3.8+ 和 PyPy3.9+。

所需依赖项

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

可选依赖项

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

python -m pip install "pymongo[gssapi]"

MONGODB-AWS 认证需要 pymongo-auth-aws

python -m pip install "pymongo[aws]"

OCSP(在线证书状态协议)需要 PyOpenSSLrequestsservice_identity,可能还需要 certifi

python -m pip install "pymongo[ocsp]"

使用 snappy 压缩的线协议需要 python-snappy

python -m pip install "pymongo[snappy]"

使用 zstandard 压缩的线协议需要 zstandard

python -m pip install "pymongo[zstd]"

客户端字段级加密需要 pymongocryptpymongo-auth-aws

python -m pip install "pymongo[encryption]"

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

python -m pip install "pymongo[gssapi,aws,ocsp,snappy,zstd,encryption]"

其他依赖项包括

  • (用于生成文档或运行测试) hatch

示例

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

>>> import pymongo
>>> client = pymongo.MongoClient("localhost", 27017)
>>> db = client.test
>>> db.name
'test'
>>> db.my_collection
Collection(Database(MongoClient('localhost', 27017), 'test'), '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()
{'x': 10, '_id': ObjectId('4aba15ebe23f6b53b0000000')}
>>> for item in db.my_collection.find():
...     print(item["x"])
...
10
8
11
>>> db.my_collection.create_index("x")
'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]

文档

文档可在 pymongo.readthedocs.io 找到。

可以通过运行 pip install hatch; hatch run doc:build 生成文档。生成的文档可在 doc/build/html/ 目录中找到。

学习资源

测试

运行测试的最简单方法是,在发行版的根目录下运行hatch run test:test

pip install hatch
hatch run test:test

项目详情


发布历史 发布通知 | RSS源

下载文件

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

源代码分发

pymongo-4.10.1.tar.gz (1.9 MB 查看哈希值)

上传时间 源代码

构建分发

pymongo-4.10.1-cp313-cp313-win_amd64.whl (976.9 kB 查看哈希值)

上传时间 CPython 3.13 Windows x86-64

pymongo-4.10.1-cp313-cp313-win32.whl (948.7 kB 查看哈希值)

上传时间 CPython 3.13 Windows x86

pymongo-4.10.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ x86-64

pymongo-4.10.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.2 MB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ s390x

pymongo-4.10.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.3 MB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ ppc64le

pymongo-4.10.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ ARM64

pymongo-4.10.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (2.1 MB 查看哈希值)

上传时间 CPython 3.13 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp313-cp313-macosx_11_0_arm64.whl (996.8 kB 查看哈希值)

上传时间 CPython 3.13 macOS 11.0+ ARM64

pymongo-4.10.1-cp313-cp313-macosx_10_13_x86_64.whl (997.0 kB 查看哈希值)

上传于 CPython 3.13 macOS 10.13+ x86-64

pymongo-4.10.1-cp312-cp312-win_amd64.whl (926.7 kB 查看哈希值)

上传于 CPython 3.12 Windows x86-64

pymongo-4.10.1-cp312-cp312-win32.whl (903.0 kB 查看哈希值)

上传于 CPython 3.12 Windows x86

pymongo-4.10.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ x86-64

pymongo-4.10.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (2.0 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ s390x

pymongo-4.10.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (2.0 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ppc64le

pymongo-4.10.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ ARM64

pymongo-4.10.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.9 MB 查看哈希值)

上传于 CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp312-cp312-macosx_11_0_arm64.whl (943.1 kB 查看哈希值)

上传于 CPython 3.12 macOS 11.0+ ARM64

pymongo-4.10.1-cp312-cp312-macosx_10_13_x86_64.whl (943.4 kB 查看哈希值)

上传于 CPython 3.12 macOS 10.13+ x86-64

pymongo-4.10.1-cp311-cp311-win_amd64.whl (876.5 kB 查看哈希值)

上传于 CPython 3.11 Windows x86-64

pymongo-4.10.1-cp311-cp311-win32.whl (857.3 kB 查看哈希值)

上传于 CPython 3.11 Windows x86

pymongo-4.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

pymongo-4.10.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ s390x

pymongo-4.10.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ppc64le

pymongo-4.10.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

pymongo-4.10.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.6 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp311-cp311-macosx_11_0_arm64.whl (889.5 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

pymongo-4.10.1-cp311-cp311-macosx_10_9_x86_64.whl (889.2 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

pymongo-4.10.1-cp310-cp310-win_amd64.whl (826.8 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

pymongo-4.10.1-cp310-cp310-win32.whl (812.3 kB 查看哈希值)

上传时间: CPython 3.10 Windows x86

pymongo-4.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ x86-64

pymongo-4.10.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.4 MB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ s390x

pymongo-4.10.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.5 MB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ppc64le

pymongo-4.10.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.4 MB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ARM64

pymongo-4.10.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.4 MB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp310-cp310-macosx_11_0_arm64.whl (835.7 kB 查看哈希值)

上传时间: CPython 3.10 macOS 11.0+ ARM64

pymongo-4.10.1-cp310-cp310-macosx_10_9_x86_64.whl (835.5 kB 查看哈希值)

上传时间: CPython 3.10 macOS 10.9+ x86-64

pymongo-4.10.1-cp39-cp39-win_amd64.whl (777.1 kB 查看哈希值)

上传时间: CPython 3.9 Windows x86-64

pymongo-4.10.1-cp39-cp39-win32.whl (767.3 kB 查看哈希值)

上传时间: CPython 3.9 Windows x86

pymongo-4.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

pymongo-4.10.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ s390x

pymongo-4.10.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ ppc64le

pymongo-4.10.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.2 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

pymongo-4.10.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.2 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.5+ x86-64

pymongo-4.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB 查看哈希)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp39-cp39-macosx_11_0_arm64.whl (781.9 kB 查看哈希)

上传于 CPython 3.9 macOS 11.0+ ARM64

pymongo-4.10.1-cp39-cp39-macosx_10_9_x86_64.whl (781.6 kB 查看哈希)

上传于 CPython 3.9 macOS 10.9+ x86-64

pymongo-4.10.1-cp38-cp38-win_amd64.whl (727.4 kB 查看哈希)

上传于 CPython 3.8 Windows x86-64

pymongo-4.10.1-cp38-cp38-win32.whl (722.4 kB 查看哈希)

上传于 CPython 3.8 Windows x86

pymongo-4.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (930.2 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

pymongo-4.10.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (938.6 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ s390x

pymongo-4.10.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (945.2 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ppc64le

pymongo-4.10.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (929.0 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

pymongo-4.10.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (928.4 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.5+ x86-64

pymongo-4.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (920.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (919.7 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

pymongo-4.10.1-cp38-cp38-macosx_11_0_arm64.whl (728.1 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

pymongo-4.10.1-cp38-cp38-macosx_10_9_x86_64.whl (727.8 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

支持者