跳转到主要内容

Python couchdb 套件

项目描述

关于

Couchdbkit 为您提供了一个功能全面且易于使用的客户端,用于访问和管理 CouchDB。它允许您管理 CouchDB 服务器、数据库、文档管理和视图访问。所有对象基本上反映了 Python 对象,以便于使用。服务器和数据库对象可以使用得像使用字典一样简单。

Build Status

安装

Couchdbkit 需要 Python 2.x 版本,高于 2.6。

要使用 pip 安装 couchdbkit,您必须确保已安装最新版本的 distribute

$ curl -O http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
$ easy_install pip

要安装或升级到 couchdbkit 的最新发布版本

$ pip install couchdbkit

入门

本教程主要通过代码示例介绍了该库的关键功能。对于模块的深入描述,您需要阅读 API 文档。

编写您的第一个 CouchDB 文档

from couchdbkit import Server
# server object
server = Server()

# create database
db = server.get_or_create_db("greeting")

doc = {"mydoc": "test"}
db.save_doc(doc)
import datetime
from couchdbkit import *

class Greeting(Document):
    author = StringProperty()
    content = StringProperty()
    date = DateTimeProperty()

存储提交的问候语

以下是保存问候到 Greeting 数据库的代码。我们还展示了如何创建数据库

from couchdbkit import Server

# associate Greeting to the db
Greeting.set_db(db)

# create a new greet
greet = Greeting(
    author="Benoit",
    content="Welcome to couchdbkit world",
    date=datetime.datetime.utcnow()
)

# save it
greet.save()

您的文档 greet 已经存入 greetings 数据库中。每个文档都保存了一个 doc_type 字段,您可以通过视图轻松找到每种类型的文档。默认情况下,doc_type 是类的名称。

现在您的文档已保存,您可以更新它

greet.author = u"Benoit Chesneau"
greet.save()

这里我们更新了作者名称。

动态属性

嗯,但是CouchDB不是无模式地存储文档吗?您想添加一个属性吗?很简单

greet.homepage = "http://www.e-engura.org"
greet.save()

现在您已经向文档中添加了一个主页属性。

获取所有问候语

首先,您必须创建一个视图并将其保存在数据库中。我们将称之为 greeting/all。为此,我们将使用 couchdbkit 的加载系统,该系统允许您将视图发送到 CouchDB。

让我们创建一个包含设计文档的文件夹,然后是视图文件夹。在 Unix 系统上

mkdir -p ~/Work/couchdbkit/example/_design/greeting/views/all

在这个文件夹中,我们编辑一个 map.js 文件

function(doc) {
  if (doc.doc_type == "Greeting")
    emit(doc._id, doc);
    }
}

以下是文件夹结构

/Work/couchdbkit/example/:

--_design/
---- greetings
------ view

以下是截图

http://couchdbkit.org/images/gettingstarted.png

将提供一个系统来管理视图创建和其他事情。正如有些人注意到的,这个系统类似于 couchapp,并且完全兼容。

然后我们使用 push 函数将设计文档发送到 CouchDB

from couchdbkit.designer import push
push('/path/to/example/_design/greetings', db)

设计文档现在位于 greetings 数据库中,您可以获取所有问候语

greets = Greeting.view('greeting/all')

项目详情


下载文件

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

源分布

couchdbkit-0.6.5.tar.gz (81.3 kB 查看哈希)

上传时间

由以下支持