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包 是一个gridfs 在pymongo上实现。
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:
- Create an account and login。
- 导航到the PYTHON project。
- 单击create issue-请提供尽可能多的关于问题类型和如何复制它的信息。
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支持可能需要ipaddress和certifi或wincertstore 版本正在使用中。必要的依赖项可以与 皮蒙戈:
$ 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中不需要。
其他依赖项是:
- (生成文档)sphinx
示例
下面是一个基本示例(有关更多信息,请参见文档的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