python的couchdb驱动程序。

time2relax的Python项目详细描述


time2relax:python couchdb驱动程序

travis(.org)codecovpypi-python versionpypi-license

< Buff行情>

python的couchdb驱动程序。

time2relax是一个python驱动程序,它试图在您和couchdb之间提供最低级别的抽象。

基本插入用法:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
<细节>目录

<;small>;使用markdown-toc生成的目录<;/small>;

<详细内容>

功能支持

受pouchdb和couchdb nanoapi的启发,它的特点是:

time2relax正式支持python 2.7和3.6+

安装

要安装Time2Relax,只需运行:

$ pip install -U time2relax
✨?✨

文档

阅读文档

有关详细文档,请访问https://time2relax.readthedocs.org" rel="nofollow">https://time2relax.readthedocs.org


在项目中使用time2relax:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')

大部分api公开为db.function(*args,**kwargs),其中**kwargs是可选参数,可以接受请求。session.request请求。

创建数据库

最初,couchdb对象将检查数据库是否存在,如果不存在,则尝试创建数据库。您可以使用create_db=false跳过此步骤:

>>>db=CouchDB('http://localhost:5984/dbname',create_db=False)

删除数据库

删除数据库:

>>>db.destroy()<Response[200]>

使用couchdb对象的进一步请求应引发time2relax.resourcenotfound

>>>db.info()ResourceNotFound:({'error':'not_found','reason':'missing'},<Response[404]>)

创建/更新文档

注意:对文档的有效属性名有一些couchdb限制。

创建新文档:

>>>db.insert({'_id':'docid','title':'Heros'})<Response[201]>

创建新文档并让couchdb自动为其生成\u id

>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>

如果文档已存在,则必须指定其修订版\u rev,否则将发生冲突。您可以使用\u rev

更新现有文档
>>>result=db.get('docid').json()>>>db.insert({'_id':result['_id'],'_rev':result['_rev'],'title':'Dance'})<Response[201]>

获取文档

检索文档:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
0

删除文档

您必须提供现有文档的\u rev

删除文档:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
1

您还可以使用time2relax.couchdb.insert{"u deleted":true}

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
2

创建/更新一批文档

创建多个文档:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
3

如果忽略给定文档上的\u id参数,数据库将创建一个新文档并为您分配id:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
4

要更新文档,必须同时包含一个\u id参数和一个\u rev参数,该参数应与更新所依据的文档的id和修订相匹配:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
5

最后,要删除文档,请包含一个值为true的参数:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
6

获取一批文档

获取多个文档:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
7

您可以使用startkey/endkey查找范围内的所有文档:

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
8

您还可以使用特殊的高Unicode字符进行前缀搜索,即"给我所有\u id'foo'开头的文档"

>>>fromtime2relaximportCouchDB>>>db=CouchDB('http://localhost:5984/dbname')>>>db.insert({'title':'Ziggy Stardust'})<Response[201]>
9

复制数据库

注意:目标必须存在,可以在复制之前使用json={'create_target':true}创建它。

将数据库复制到目标:

$ pip install -U time2relax
✨?✨
0

保存附件

此方法将更新现有文档以添加附件,因此如果该文档已存在,则需要\u rev。如果文档不存在,则此方法将创建包含附件的空文档。

附加文本/普通文件:

$ pip install -U time2relax
✨?✨
1

获取附件

获取附件数据:

$ pip install -U time2relax
✨?✨
2

删除附件

您必须提供现有文档的\u rev

删除附件:

$ pip install -U time2relax
✨?✨
3

获取数据库信息

获取有关数据库的信息:

$ pip install -U time2relax
✨?✨
4

压缩数据库

这通过删除未使用的和旧的数据(即那些修订不再引用的非叶修订和附件)来减小数据库的大小。

触发压缩操作:

$ pip install -U time2relax
✨?✨
5

运行列表函数

马克斯确保您理解list函数在couchdb中的工作方式。一个好的开始是列表上的couchdb指南条目

$ pip install -U time2relax
✨?✨
6

运行显示功能

确保您理解show函数在couchdb中是如何工作的。一个好的开始是在shows上的couchdb guide条目

$ pip install -U time2relax
✨?✨
7

运行查看功能

确保您理解视图函数在couchdb中是如何工作的。一个好的开始是关于视图的couchdb guide条目

$ pip install -U time2relax
✨?✨
8

如何贡献

  1. 检查有无未解决的问题或打开新问题,以围绕功能理念或错误展开讨论。
  2. fork存储库开始对主分支(或其分支)进行更改。
  3. 编写一个测试,显示错误已修复或功能正常工作。
  4. 发送一个pull请求并对维护程序进行bug操作,直到它被合并并发布。请确保将自己添加到作者
  5. < > >

    版本历史记录

    0.5.0(2018-08-04)

    • 将time2relax api移动到time2relax.time2relax
    • 添加Python3.7支持。

    0.4.1(2017-11-22)

    • 修复Travis生成错误-无效配置

    0.4.0(2017-11-21)

    • couchdberror现在是httperror向后不兼容
    • couchdb(skip_setup=false)现在是couchdb(create_db=true)向后不兼容
    • 添加Python3.6支持。
    • 删除Python2.6支持-Python核心团队不再支持Python2.6。(向后不兼容

    0.3.0(2017-03-03)

    • 新Time2Relax API。(向后不兼容
    • time2relax现在是一个瘦的请求包装器。
    • 新的设计文档功能;列表显示视图

    0.2.0(2016-12-10)

    • 添加Python3.3、3.4、3.5支持。

    0.1.0(2016-12-10)

    • pypi上的第一个版本。

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

    推荐PyPI第三方库


热门话题
写入远程文件java   在java中尝试播放音频时出现音频流错误。wav文件   用户界面如何在Java中禁用GUI按钮   在java中如何使用条件拆分字符串   java从一个方法在数组中设置,从另一个方法获取   java如何忽略“”而不是“”   java证书。木卫一。IOException:密钥库被篡改,或密码不正确   java Android onCreate不调用   在play framework(i18n)中未正确显示德语Umlautes的java显示   使用java从eclipse运行MacOSX命令的macos   java是检查数组中备用项的最有效方法   如何使用java流编写包含循环、if/else和返回语句的代码   为什么在Java中,循环内的声明似乎比循环外的声明更快?   java软件包不存在mvn clean install