跳转到主要内容

Python couchdb工具包

项目描述

关于couchdbkit的jsonobject分支

jsonobject-couchdbkit是couchdbkit的一个分支,用jsonobject(巧合的是,它被写为一个比couchdbkit.schema更快的替代品)的轻量级包装代替了couchdbkit.schema。参见jsonobject

关于

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()

现在您已向文档添加了homepage属性。

获取所有问候语

首先,您必须创建一个视图并将其保存到数据库中。我们将称它为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')

项目详情


下载文件

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

源分发

jsonobject-couchdbkit-1.1.0.tar.gz (66.4 kB 查看哈希值)

上传时间

构建的发行版

jsonobject_couchdbkit-1.1.0-py2.py3-none-any.whl (56.7 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者