couchdb的使用例子
couchdb安装
sudo apt-get install erlang
sudo apt-get install libmozjs185-dev libicu-dev
下载源码,编译安装
启动以后
进入管理界面
http://localhost:5984/_utils
数据的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": ,
"user_name": "猪头",
"type": "article"
}
{
"_id": "0c5df7ff242754705fb3355373002827",
"_rev": "4-b9024f71db567187cc36cadbabecc580",
"money": ,
"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.
目的数据库的database必须存在,否则会失败
couchdb的使用例子的更多相关文章
- 安装hyperledger fabric V1.0.1
安装文档位置: https://github.com/hyperledger/fabric fabric代码托管地址 https://hyperledger-fabric.readthedoc ...
- MongoDB与CouchDB 全方位对比
http://blog.nosqlfan.com/html/1519.html 本文见于MongoDB官方网站,MongoDB与CouchDB 很相似,他们都是文档型存储,数据存储格式都是JSON型的 ...
- CouchDB 简单HTTP接口使用说明
目录 1.简介 2.安装 2.HTTP接口简单使用 2.1.认证接口 2.1.1 Basic Authentication 2.1.2 Cookie Authentication 2.2 创建与删除数 ...
- MongoDB与CouchDB全方位对比(转)
出处:http://www.csdn.net/article/2011-03-21/294226 本文见于MongoDB官方网站,MongoDB与CouchDB很相似,他们都是文档型存储,数据存储格式 ...
- CouchDB学习-维护
官方文档 1 压缩 压缩操作是通过从数据库或者视图索引文件中移除无用的和老的数据减少硬盘使用空间.操作非常简单类似于其他数据库(SQLite等)管理系统. 在压缩目标期间,CouchDB将创建扩展名为 ...
- SQLServer地址搜索性能优化例子
这是一个很久以前的例子,现在在整理资料时无意发现,就拿出来再改写分享. 1.需求 1.1 基本需求: 根据输入的地址关键字,搜索出完整的地址路径,耗时要控制在几十毫秒内. 1.2 数据库地址表结构和数 ...
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ...
- REGEX例子
作为REGEX的例子,代码9.3显示了一个给定的文件有多少行,具有给定的模式,通过命令行输入(注:有更有效率的方式来实现这个功能,如Unix下的grep命令,在这里只是给出了另一种方式).这个程序像下 ...
- CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子
CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子 本文涉及的VolumeRendering相关的C#代码是从(https://github.com/toolchai ...
随机推荐
- nodejs利用express操作mysql增删改查
如果不知道怎么连接数据库的请看http://www.cnblogs.com/complete94/p/6714757.html 我当大家都知道怎么连接数据库了,那么 我们开始吧 var express ...
- eclipse背景设置什么颜色缓解眼睛疲劳之一
Eclipse操作界面默认颜色为白色.对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,如果把颜色改成绿色的颜色就会缓解眼睛的疲劳. 设置方法如下: 1.打开window->Prefere ...
- 【HTML5】使用 JavaScript 来获取电池状态(Battery Status API)
HTML5 规范已经越来越成熟,可以让你访问更多来自设备的信息,其中包括最近提交的 "Battery Status API".如其名称所示,该 API 允许你通过 JavaScri ...
- JSON数组字典解析
遇到这样的字典数组字符串 priceRange = "[{\"id\":149075584861800,\"price\":9.9,\"nu ...
- Appium 测试APK
介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持iOS.Android及FirefoxOS平台测试.Appium使用WebDriver的json w ...
- va_start、va_arg、va_end、va_copy 可变参函数
1.应用与原理 在C语言中,有时我们无法给出一个函数参数的列表,比如: int printf(const char *format, ...); int fprintf(FILE *s ...
- c# 文件日志处理 需要log4net配置
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...
- DataTable和实体类通过反射相互转换
using System.Runtime.Serialization; using System.Data; using System.Reflection; using System.Collect ...
- JS中获取数据库中的值
在本次项目中,遇到很多问题,经过努力,都逐步得到解决.静下心来,做一个记录,以供以后学习. 在项目中遇到一个问题,需要在JS中读取数据库中的值,然后再把值返回到页面中,解决方案如下:使用Ajax方法来 ...
- 手机通过笔记本开的WIFI访问TOMCAT服务器站点示例
我一直想用手机连上笔记本上的服务器TOMCAT,尝试了好久没连上,实验室一个妹子会这个技术,我也想学,自己摸索着学了几次,没成功,今晚想个办法试了一下,可以连接了,以后可以做手机网站开发了,这也是移动 ...