Python couchdb 套件
项目描述
关于
Couchdbkit 为您提供了一个功能全面且易于使用的客户端,用于访问和管理 CouchDB。它允许您管理 CouchDB 服务器、数据库、文档管理和视图访问。所有对象基本上反映了 Python 对象,以便于使用。服务器和数据库对象可以使用得像使用字典一样简单。
安装
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
以下是截图
将提供一个系统来管理视图创建和其他事情。正如有些人注意到的,这个系统类似于 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 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9b607f509727e6ada2dbd576a4120c214b1c54f3bb8bf6e2e0eb2cfbb11a0e00 |
|
MD5 | d5f6382665697b0f126f68a211c1a5a2 |
|
BLAKE2b-256 | a1139e9ff695a385c44f62b4766341b97f2bd8b596962df2a0beabf358468b70 |