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

pymongo的Python项目详细描述


Info:See the mongo site for more information. See GitHub for the latest source.
Author:Mike Dirolf
Maintainer:Bernie Hackett <bernie@mongodb.com>

关于

pymongo发行版包含与mongodb交互的工具 来自python的数据库。bson包是 python的BSON format。那pymongo 包是mongodb的本地python驱动程序。gridfs包 是一个gridfspymongo上实现。

pymongo支持mongodb 2.6、3.0、3.2、3.4、3.6、4.0和4.2。

支持/反馈

有关pymongo的问题、疑问或反馈,请查看 我们的support channels。拜托 不要直接向任何pymongo开发人员发送有问题或 问题-你更有可能在google群组的mongodb-user列表中得到答案。

错误/功能请求

你觉得你发现了虫子?想在Pymongo中看到一个新功能吗?请打开一个 我们的问题管理工具中的案例,jira:

jira中所有驱动程序项目(即python、csharp、java)和 核心服务器(即服务器)项目是public

如何寻求帮助

打开问题时请包括以下所有信息:

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

  • 使用的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项目,请按instructions here上报。

安装

pymongo可以用pip

安装
$ python -m pip install pymongo

easy_install来自 setuptools

$ python -m easy_install pymongo

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

$ python setup.py install

不要not从pypi安装“bson”包。Pymongo有自己的 bson包;执行“easy_install bson”将安装第三方包 与Pymongo不兼容。

依赖关系

pymongo支持cpython 2.7、3.4+、pypypy和pypy3.5+。

可选依赖项:

gssapi身份验证在unix上需要pykerberos,在windows上需要WinKerberos。正确的 依赖项可以与pymongo一起自动安装:

$ python -m pip install pymongo[gssapi]

对mongodb+srv://uri的支持需要dnspython

$ python -m pip install pymongo[srv]

根据python的不同,tls/ssl支持可能需要ipaddresscertifiwincertstore 版本正在使用中。必要的依赖项可以与 皮蒙戈:

$ python -m pip install pymongo[tls]

使用snappy进行有线协议压缩需要python-snappy

$ python -m pip install pymongo[snappy]

使用zstandard进行有线协议压缩需要zstandard

$ python -m pip install pymongo[zstd]

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

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

其他可选套餐:

  • backports.pbkdf2, 使用scram-sha-1和scram-sha-256提高身份验证性能。 它特别提高了2.7.8之前的python版本的性能。
  • monotonic添加对 提高环境可靠性的单调时钟 时钟调整频繁的地方。在python 3中不需要。

其他依赖项是:

示例

下面是一个基本示例(有关更多信息,请参见文档的example s部分):

>>>importpymongo>>>client=pymongo.MongoClient("localhost",27017)>>>db=client.test>>>db.nameu'test'>>>db.my_collectionCollection(Database(MongoClient('localhost',27017),u'test'),u'my_collection')>>>db.my_collection.insert_one({"x":10}).inserted_idObjectId('4aba15ebe23f6b53b0000000')>>>db.my_collection.insert_one({"x":8}).inserted_idObjectId('4aba160ee23f6b543e000000')>>>db.my_collection.insert_one({"x":11}).inserted_idObjectId('4aba160ee23f6b543e000002')>>>db.my_collection.find_one(){u'x':10,u'_id':ObjectId('4aba15ebe23f6b53b0000000')}>>>foritemindb.my_collection.find():...print(item["x"])...10811>>>db.my_collection.create_index("x")u'x_1'>>>foritemindb.my_collection.find().sort("x",pymongo.ASCENDING):...print(item["x"])...81011>>>[item["x"]foritemindb.my_collection.find().limit(2).skip(1)][8,11]

文档

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

测试

运行测试的最简单方法是在中运行python setup.py test 分布的根。

要验证pymongo是否与gevent的monkey patching一起工作:

$ python green_framework_test.py gevent

或者与eventlet一起:

$ python green_framework_test.py eventlet

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?