couchdb 视图操作_couchdb的使用例子

本文介绍了如何在CouchDB中使用MapReduce查询,通过实例展示如何创建和调用视图,包括all和by_author_id查询条件,并演示了如何在JavaScript中编写查询脚本。此外,还提到了默认设置和数据复制注意事项。
摘要由CSDN通过智能技术生成

couchdb安装

sudo apt-get installerlangsudo apt-get install libmozjs185-dev libicu-dev

下载源码,编译安装

数据的curd部分遵循restful模式,直接忽略,不过关于查询,由于文档型不太好弄关系处理,所以,添加了一个视图,用于map reduce的数据查询

在couchdb里面做map reduce查询不复杂,用于查询的view和一般的文档没有太大的区别,有两个地方不一样

必须以_design开头,必须有views字段,例如

{"_id": "_design/articles","_rev": "6-3d7568f84acd59d397e8b0e7f7add7eb","language": "javascript","views": {"all": {"map": "function(doc) { emit(doc.user_name, doc.money); }","reduce": "function (key, values, rereduce) { return sum(values); }"},"by_author_id": {"map": "function(doc) { if(doc.type == 'article') { emit([doc.user_name], doc); } }"}

}

}

假如说我有几个数据

{"_id": "0c5df7ff242754705fb3355373001fca","_rev": "5-e705b7220c11304fd2212d40b1258bce","money": 100,"user_name": "猪头","type": "article"}

{"_id": "0c5df7ff242754705fb3355373002827","_rev": "4-b9024f71db567187cc36cadbabecc580","money": 200,"user_name": "白痴"}

对于all查询条件进行查询

map+reduce一起

curl http://127.0.0.1:5984/test_db/_design/articles/_view/all?group=true

光查map,不reduce

curl http://127.0.0.1:5984/test_db/_design/articles/_view/all?reduce=false

查询by_author_id条件

curl http://127.0.0.1:5984/test_db/_design/articles/_view/by_author_id?reduce=false

自己看看结果比对下

定义在couchdb里面查询脚本支持python,js,erlang,不过似乎js最简单点

关于replication

默认的couchdb是绑定的本地ip,需要改成0.0.0.0目的数据库的database必须存在,否则会失败

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值