couchdb v2.x python接口在单个模块中。也是一个命令行工具。

CouchDB2的Python项目详细描述


couchdb2

couchdb v2.x python接口在单个模块中。 同时也是一个命令行工具;请参见下面的

这个模块的大部分(但不是全部)功能都适用于couchdb版本<;2.0。

安装

$ pip install couchdb2

此模块依赖于请求http://docs.python requests.org/en/master/

示例代码

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()

服务器

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)

连接到CouchDB服务器。

如果use_session为true,则使用经过身份验证的会话 透明的。否则,每次请求都会发送用户名和密码。

版本

server.version

提供couchdb服务器软件版本的属性。

用户上下文

server.user_context

属性,提供连接的用户上下文。

_结构

str(server)

返回服务器接口的简单字符串表示形式。

_长度

len(server)

返回用户定义的数据库数。

_国际热核电站
fordbinserver:...

返回服务器上所有用户定义数据库的迭代器。

_获取项目

db=server[name]

获取命名数据库。

_包含
$ pip install couchdb2
0

指定的数据库是否存在?

_呼叫

$ pip install couchdb2
1

返回有关服务器的元信息。

上下

$ pip install couchdb2
2

服务器是否已启动并运行,准备好响应请求?

couchdb版本>;=2.0。

获取

$ pip install couchdb2
3

获取命名数据库。如果check为true,则引发notfounderror 如果数据库不存在。

创建

$ pip install couchdb2
4

创建命名数据库。

获取配置

$ pip install couchdb2
5

获取命名节点的配置。

获取活动任务

$ pip install couchdb2
6

返回正在运行的任务列表。

获取群集设置

$ pip install couchdb2
7

返回节点或群集的状态。

couchdb版本>;=2.0。

设置群集设置

$ pip install couchdb2
8

将节点配置为单个节点、作为群集的一部分或完成群集。

couchdb版本>;=2.0。

获得会员资格

$ pip install couchdb2
9

返回有关作为群集一部分的节点的数据。

couchdb版本>;=2.0。

设置复制

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
0

请求、配置或停止复制操作。

获取调度程序作业

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
1

获取复制作业列表。

couchdb版本>;=2.0。

获取计划程序文档

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
2

获取有关复制文档的信息。

couchdb版本>;=2.0。

获取节点状态

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
3

返回正在运行的服务器的统计信息。

couchdb版本>;=2.0。

获取节点系统

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
4

返回正在运行的服务器的各种系统级统计信息。

couchdb版本>;=2.0。

数据库

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
5

与命名的couchdb数据库的接口。

如果check为true,则在数据库不存在时引发notfounderror。

_结构

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
6

返回couchdb数据库的名称。

_长度

importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
7

返回数据库中的文档数。

_包含
importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
8

数据库中是否存在具有给定ID的文档?

_国际热核电站
importcouchdb2server=couchdb2.Server()# Arguments required according to local setupdb=server.create('test')doc1={'_id':'myid','name':'mydoc','level':4}db.put(doc1)doc=db['myid']assertdoc==doc1doc2={'name':'another','level':0}db.put(doc2)print(doc2)# {'_id': '66b5...', '_rev': '1-f3ac...', 'name': 'another', 'level': 0}db.put_design('mydesign',{"views":{"name":{"map":"function (doc) {emit(doc.name, null);}"}}})result=db.view('mydesign','name',key='another',include_docs=True)assertlen(result)==1print(result[0].doc)# Same printout as above, using OrderedDictdb.destroy()
9

返回数据库中所有文档的迭代器。

_获取项目

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
0

返回具有给定ID的文档。

存在

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
1

数据库是否存在?

检查

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
2

如果数据库不存在,则引发notfounderror。

创建

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
3

创建数据库。

销毁

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
4

删除数据库及其所有内容。

获取信息

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
5

返回包含数据库信息的词典。

获取安全性

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
6

返回包含数据库安全信息的词典。

设置安全性

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
7

设置数据库的安全信息。

紧凑型

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
8

通过重写磁盘数据库文件压缩couchdb数据库 以及删除旧版本的文档。

如果finish为true,则仅在压缩完成时返回。 此外,如果已定义,则调用函数回调(秒)。 每秒钟直到压实完成。

紧凑型设计

server=Server(href='http://localhost:5984/',username=None,password=None,use_session=True)
9

压缩与命名设计文档关联的视图索引。

查看"清除"

server.version
0

由于中的视图更改,删除不必要的视图索引文件 数据库的设计文档。

获取

server.version
1

返回具有给定ID的文档,如果找不到,则返回默认值

放置

server.version
2

插入或更新文档。

如果文档已经在数据库中,则必须 出现在文档中;其值将被更新。

如果文档不包含项目\u id,则将添加一个 具有Uuid4值的。还将添加\u rev项。

删除

server.version
3

删除文档。

获取设计

server.version
4

返回数据库的设计文档。

couchdb版本>;=2.2。

获取设计

server.version
5

获取指定的设计文档。

放置设计

server.version
6

以给定的名称插入或更新设计文档。

如果现有设计文件相同,则不采取任何措施 返回false,否则更新文档并返回true。

如果rebuild为true,则在更新后强制重新生成视图索引。 这可能需要一些时间。

文档示例:

server.version
7

更多信息:http://docs.couchdb.org/en/latest/api/ddoc/common.html" rel="nofollow">http://docs.couchdb.org/en/latest/api/ddoc/common.html

视图

server.version
8

返回一个包含 属性中的对象(列表)。row

获取索引

server.version
9

返回数据库中所有索引的列表。

couchdb版本>;=2.0。

放置索引

server.user_context
0

存储芒果索引规范。仅限CouchDB v2.x。

  • 字段是要索引的字段列表。
  • ddoc是设计文档名。如果没有给出,则生成。
  • name是索引的名称。如果没有给出,则生成。
  • 选择器是部分筛选器选择器,可以省略。

返回包含项id的字典(设计文档名称;sic!), 名称(索引名称)和结果创建存在)。

couchdb版本>;=2.0。

查找

server.user_context
1

根据Mango索引选择器选择文档。

返回一个字典,其中包含项docswarningexecution\u stats 以及书签

couchdb版本>;=2.0。

解释

server.user_context
2

返回查询正在使用的索引的信息。

couchdb版本>;=2.0。

获取附件

server.user_context
3

返回包含附件内容的类文件对象。

放置附件

server.user_context
4

content是字符串或类似文件的对象。 返回文档的新修订版。 输入doc中的修订未被更改。

如果没有文件名,则尝试从内容对象获取文件名。

删除附件

server.user_context
5

删除附件。返回文档的新修订版。 输入doc中的修订未被更改。

转储

server.user_context
6

将整个数据库转储到tar文件。

如果已定义,则调用函数回调(ndocs,nfiles)。 每100份文件。

如果文件路径以.gz结尾,则tar文件是gzip压缩的。 每个版本的文件已保存。

返回一个元组(ndocs,nfiles)

松开

server.user_context
7

加载tar文件,该文件必须由dump生成

如果已定义,则调用函数回调(ndocs,nfiles)。 每100份文件。

注意:文档只是添加到数据库中,忽略 \u rev项目。

返回一个元组(ndocs,nfiles)

couchdb2异常

server.user_context
8

基本couchdb2异常。

未找到错误

server.user_context
9

不存在此类实体。

错误请求错误

str(server)
0

无效请求;名称、正文或标题错误。

创建错误

str(server)
1

无法创建实体;它已经存在。

修订错误

str(server)
2

要保存的文档中的\u rev项错误或丢失。

授权错误

str(server)
3

当前用户无权执行此操作。

内容类型错误

str(server)
4

请求中的内容类型值不正确。

服务器错误

str(server)
5

内部服务器错误。

查看结果

db.view()返回的对象

str(server)
6

属性:

  • :对象的列表。
  • 偏移量:用于行集合的偏移量。
  • 总行数:选定的总行数。

_长度

str(server)
7

返回视图结果中的行数。

_国际热核电站
str(server)
8

返回视图结果中所有行的迭代器。

_获取项目

str(server)
9

返回索引视图结果行。

json

len(server)
0

以类似json的表示形式返回视图结果数据。

行< /H2>

在viewResult列表属性行中返回的命名元组对象

len(server)
1
  • id:文档的标识符(如果有)。
  • :索引行的键。
  • :索引行的值。
  • 文档:文档(如果有)。

ID

字段号0的别名

密钥< /H3>

字段编号1的别名

字段2的别名

DOC

字段3的别名

实用功能

读取设置

len(server)
2

从json格式文件读取设置查找。 如果给定了设置,则返回它的更新副本, 否则,复制默认设置、更新并返回。

命令行工具

该模块也是与couchdb服务器交互的命令行工具。 使用pip安装它将设置命令couchdb2

命令行工具的设置从以下源更新, 按给定顺序(如果存在):

  1. 默认值为
    len(server)
    3
  2. 读取json文件~/.couchdb2(在主目录中)。
  3. 读取json文件settings.json(在当前工作目录中)。
  4. 从命令行选项--settings filepath提供的json文件中读取

选项

要打印可用的命令选项:

len(server)
4

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

推荐PyPI第三方库


热门话题
添加组件后,java JTable为空   java将json发送到php并插入mysql,但返回null   java Spring引导JNDI CommonJ资源   从不同PC创建和合并后的Java servlet问题   java如何在使用findelements时从xpath获取文本   java使用spring boot使用gmail smtp发送电子邮件   java在不使用pojo、bean或getter和setter的情况下获取Json标题的Json数组   Java中的OpenFile对话框将null作为响应   JavaBuilder模式。扩展接口   java中无需替换的数据结构选取   java如何评价Encog中的预测神经网络   java如何在安卓中使用实际的HttpURLConnection进行单元测试?   java使用XML配置禁用WebSocket中的CSRF保护   java如何通过hibernate从多表查询中获取数据?   mysql如何在java中获取更新的行Id   java AEM/CQ组件单一组件/有限组件   java FFmpeg Javacv延迟问题   显示整数数组的java不起作用