CouchDB 组级别和键范围

2024-01-04

谁能向我解释为什么以下不起作用:

假设以下文档结构:

{
   "_id": "520fb089a6cb538b1843cdf3cca39a15",
   "_rev": "2-f96c27d19bf6cb10268d6d1c34799931",
   "type": "nosql",
   "location": "AZ",
   "date": "2012/03/01 00:00:00",
   "amount": 1500
}

Map 函数定义如下:

function(doc) {
  var saleDate = new Date(doc.date);
  emit([doc.location,saleDate.getFullYear(),saleDate.getMonth()+1],doc.amount);
}

并使用内置的_sum减速机的功能。

当您执行此命令(使用 group=true)时,您会得到如下结果:

{"rows":[
{"key":["AZ",2012,2],"value":224},
{"key":["AZ",2012,3],"value":1500},
{"key":["WA",2011,12],"value":1965},
{"key":["WA",2012,1],"value":358}
]}

现在,如果您将查询更改为如下所示:

http://127.0.0.1:5984/default/_design/nosql/_view/nosql_test?group_level=2

你会得到这样的结果:

{"rows":[
{"key":["AZ",2012],"value":1724},
{"key":["WA",2011],"value":1965},
{"key":["WA",2012],"value":358}
]}

因此,考虑到这一点,如果我想找出 2011 年“WA”的所有销售额,我是否可以不执行如下操作:

http://127.0.0.1:5984/default/_design/nosql/_view/nosql_test?group_level=2&key=["WA",2011]

此示例取自 NoSQL 磁带上的有用视频。

http://nosqltapes.com/video/understanding-mapreduce-with-mike-miller http://nosqltapes.com/video/understanding-mapreduce-with-mike-miller%20NoSQL%20tapes


您始终需要提供一系列键,因为过滤是在map的结果,not on reduce.

例如,以下参数应该有效(如果 url 编码正确):

?group_level=2&startkey=["WA",2011]&endkey=["WA",2011,{}]

您可以阅读有关查看整理 http://docs.couchdb.org/en/latest/couchapp/views/collation.html了解它是如何工作的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CouchDB 组级别和键范围 的相关文章

  • nosql 是什么意思?有人可以用简单的话向我解释一下吗?

    在这篇文章中堆栈溢出架构 http highscalability com stack overflow architecture我读到了一些叫做 nosql 的东西 我不明白它的意思 我试图在谷歌上搜索 但接缝我无法确切地了解它是什么 谁
  • 如何使用CURL/CygWin将文件从本地Windows机器发送到服务器?

    我的目标是使用 cygwin curl 将 CouchDB 文档从我的 Windows 计算机上传到远程服务器 以下教程展示了如何在 Mac 上执行相同操作 http net tutsplus com tutorials getting s
  • 使用 cassandra-cli 创建两个复合列

    我的列族需要两个复合列 关键数据类型是BytesType 以下是使用 CQL 的表定义 CREATE TABLE stats gid blob period int tid blob sum int uniques blob PRIMARY
  • 本地实例不支持 couchdb POST 方法

    我的本地 couchdb 实例似乎不支持 POST 方法 这是我从 chrome 开发工具得到的答案 POST http localhost 5984 epos couch design epos couch view ri 415 Uns
  • 一起使用 MongoDB 和 Neo4j

    我正在开始一个新项目 我正在考虑使用 MongoDB 作为文档存储工具 使用 Neo4j 作为映射文档之间关系的机制 然后我想通过 REST API 公开查询结果 人们会说这样做的优点和缺点是什么 是否有更好的方法可以使用不同的 NoSQL
  • 具有多个键值的 CouchDB 视图查询

    我目前正在尝试创建一个视图和查询来适应此 SQL 查询 SELECT FROM articles WHERE articles location NY OR articles location CA ORDER BY articles re
  • dynamoDB 如何存储数据?

    由于Dynamodb以键值对的形式存储数据 其中键是主键的类型 值是与其关联的数据 我想知道dynamo db是否真正理解值 json 我所说的值是指json与键关联的对象 RDBMS 中的一行 dynamo db 是否理解有一些属性以及它
  • CouchDB Java 客户端

    这个维基页面 http wiki apache org couchdb Getting started with Java http wiki apache org couchdb Getting started with Java 列出了
  • 如何将索引从一个索引节点移动到 couchbase 中的另一个索引节点

    我在 couchbase 集群中有 6 个索引节点 我想替换一次索引节点并将索引从旧索引节点移动到新索引节点 将索引从一个节点移动到另一个节点的最佳实践是什么 在 Couchbase 5 5 中 您可以使用 ALTER INDEX 语句将索
  • 库存管理系统的 SQL 与 NoSQL

    我正在开发一个基于 JAVA 的网络应用程序 主要目的是拥有在多个称为渠道的网站上销售的产品的库存 我们将担任所有这些渠道的管理者 我们需要的是 用于管理每个渠道的库存更新的队列 库存表 其中包含每个通道上分配的正确快照 将会话 ID 和其
  • Neo4j.rb 创建独特的关系

    这是我的 Neo4j 活动节点 class User include Neo4j ActiveNode has many out following type following model class User end john User
  • Couchbase 网络错误 16,node.js 中套接字断言失败

    我有以下 node js 脚本 几天前运行良好 但现在出现此错误 syd HP Notebook Desktop node db js connected to database Error Network error code 16 no
  • 如何在CouchDB 2.0中创建TEXT索引?

    我正在读这篇文章https cloudant com blog mango json vs text indexes https cloudant com blog mango json vs text indexes我想在我的 Couch
  • 检查 DynamoDB 中是否存在表的最佳方法是什么?

    检查 DynamoDb 中是否存在表的最佳方法是什么 如果代码是 PHP 语言 我将不胜感激 要么活跃 要么不活跃 稍后作为错误代码 400 的各种情况的示例添加 检查表是否存在很容易 它可以有以下之一 表状态 gt 创建 活动 删除或更新
  • OT 和 CRDT 之间的区别

    有人可以简单地向我解释一下操作转换和 CRDT 之间的主要区别吗 据我了解 两者都是允许数据在分布式系统的不同节点上无冲突地收敛的算法 在哪种用例中您会使用哪种算法 据我了解 OT主要用于文本 而CRDT更通用 可以处理更高级的结构 对吧
  • Couchbase/hadoop 连接器:sqoop 作业失败“找到接口 org.apache.hadoop.mapreduce.TaskAttemptContext,但需要类”

    我的配置 CouchBase服务器2 0 Sqoop 1 4 2 针对hadoop版本2 0 0编译 堆栈Hadoop CDH4 1 2 我想使用 CouchBase Hadoop 连接器 http www couchbase com de
  • 内置方法读取couchdb文件大小?

    我正在尝试使用 couchdb 作为消息存储 并想报告消息大小 理想情况下 读取 size 属性会很好 最坏的情况是我可以检查整个文档 JSON 的字符串长度 我什至可能想使用尺寸作为查看键 您认为记录文档大小的最佳方法是什么 为什么您认为
  • 如何:SQL 还是 NOSQL?

    我还没有遇到过这个问题 但这就是我的想法 非常肤浅和简单化恕我直言 如果您有键值类型的存储 并且所有访问都是键查找 请使用 NOSQL 解决方案 如果您想要基于值 和子值 进行查找或者有一些更复杂的东西 例如联接 您会选择关系解决方案 事务
  • 设计 Cassandra 数据模型的最佳实践是什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 以及需要避免哪些陷阱 您有任何交易中断吗 例如 我听说导出 导入 Cassandra 数据非常困难 这让我想知道这是否会妨碍将生产数据
  • AWS DynamoDB 写后读一致性 - 理论上它是如何工作的?

    大多数nosql解决方案仅使用最终一致性 并且考虑到DynamoDB将数据复制到三个数据中心 如何保持写后读一致性 解决此类问题的通用方法是什么 我认为这很有趣 因为即使在 MySQL 复制中 数据也是异步复制的 我将详细告诉您 Dynam

随机推荐

  • 如何在数据库中存储税金?

    我需要在我的项目中添加每个省 州的税费 我正在争论是否应该在省份和税收之间添加多对多关系 或者只是向每个省份添加tax1 name tax1 rate tax2 name tax2 rate 我不认为任何地方都有超过2个税吗 我还需要存储每
  • aurelia-fetch-client 动态创建请求标头

    我正在使用 aurelia fetch client 将一些数据发送到 web api 在注册方法中 headers Headers register this headers new Headers this headers append
  • Composer 安装“无法打开流”

    每当我运行安装程序 甚至手动安装 Composer 时 我都会收到一条错误 不允许我完成安装 这很烦人 在 Laragon 中 一个程序用于使用 Composer 及其包创建许多不同的项目 它不允许我使用 Laravel 因为 Compos
  • .NET Core 实体框架存储过程

    我正在尝试将 ASP NET 4 5 应用程序移植到 NET Core 但有一个我似乎无法解决的实际问题 我现有的应用程序执行存储过程 该存储过程返回具有多个数据表的数据集 实体框架可以自动将返回的字段映射到我的实体属性 但仅适用于数据集中
  • 为什么 Chrome 开发者工具会自动阻止请求?

    我正在尝试构建一个 PWA 渐进式 Web 应用程序 但 Chrome 开发工具控制台警告说它正在阻止我的 css 和图标文件 Request was blocked by DevTools https example com styles
  • 在 Laravel 中一起使用 React.js 和 Vue.js

    我真的很想知道 是否可以在 Laravel 中同时使用 React js 和 vue js 例如 使用 ReactJs 作为管理仪表板 使用 VueJs 作为客户端仪表板 我知道使用其中之一在技术上和逻辑上更好 你怎么认为 我们可以一起使用
  • 使用 ExecuteStreamCommand 的 Python 脚本

    在尽我所能找到以前的问题和与此问题相关的示例后 仍然没有找到我正在寻找的答案 我想我会自己提交一个问题 由于以下原因 ExecuteStreamCommand 对我来说似乎是完美的处理器 我能够执行任何 Python 脚本并避免使用 Jyt
  • 使用 TeamCity 和 Fakes Framework 进行构建和测试

    我们正在运行 TeamCity 8 1 4 构建服务器 计算机上安装了 VS2013 我最近介绍了依赖于 Microsoft Fakes Framework 的测试 因此 我必须添加一些对新 Fake 程序集和Microsoft Visua
  • SQLiteException:未知错误(代码0):本机无法创建新字节[]

    当尝试查询最多 30 个对象时 我收到此错误 每个对象都有字段字节 其权重为 100x100 ARGB 8888 位图数据 39kb 我使用的是 OrmLite 4 45 版本 在 Samsung GT n8000 平板电脑上 最大堆大小
  • 如何检测用户何时按下 Android 设备上的“菜单”键?

    我知道我可以覆盖onBackPressed 在更高的 API 级别上检测是否按下了后退键 对于菜单按钮有类似的方法吗 我不太喜欢在 KeyEvents 中检查键码 谢谢 您在寻找这个吗 public boolean onKeyDown in
  • R函数返回值以及警告消息

    我调用了其他库函数 它执行计算并抛出警告消息 我尝试使用 tryCatch 捕获消息 但不知道如何保留计算值和警告消息 这是示例 简化 代码 我希望 mydiv 函数同时具有计算值和警告消息 现在 mydiv 调用将返回除法值或警告 但不会
  • 如何在 Alamofire 中使用 PUT 请求

    我是 swift 的新手 我也尝试使用 Alamofire 从 API 调用数据 我对如何使用它感到很困惑放置请求更新数据 我已经在这里阅读了一些解决方案 但我不知道如何在我的应用程序上应用 我正在创建一个事件应用程序 场景应该是 当参与者
  • 模块“AppModule”导入了意外值“MyCustomModule”

    我正在尝试将我的 angular2 自定义库之一迁移到 RC 6 Webpack 我的目录结构是 src source TS files lib transpiled JS files definition files dev develo
  • 使用 gcc 使用 gets 函数编译我的程序[重复]

    这个问题在这里已经有答案了 每当我尝试这样做时 我都会得到 警告 gets 函数很危险 不应使用 现在 我知道为什么这个功能很糟糕了 但是为了编译我已经编写的程序 我必须使用这个函数 我应该怎么做才能不出现此警告 或具有完全相同属性的函数
  • 以编程方式查找应用程序的 URL

    我需要从我自己的应用程序中启动另一个应用程序 但我没有它的 URL 所以我的问题是 有没有办法根据另一个应用程序的包标识符或 trackid 以编程方式查找其 url 如果你只想启动其他应用程序 你可以使用ios私有api interfac
  • ORA-02303: 无法删除或替换具有类型或表相关项的类型

    我是甲骨文新手 我尝试改变varchar 50 to 250 CREATE OR REPLACE TYPE CEQ OWNER TYPE REC PARAE2 AS OBJECT BONETAT DESC VARCHAR2 250 我收到
  • Android recyclerview v.23.2.0 和设计库 v.23.2.0 已损坏

    更新到 v23 2 0 后 recyclerview 项目有奇怪的行为 非常大 但空间空白 更新到设计库 23 2 0 后 菜单溢出图标变成黑色 应用程序有黑色操作栏 UPDATE在我的 Nexus 5 上 溢出图标和回收器视图行已修复 但
  • 在 jinja for 循环中调用 JavaScript 函数[重复]

    这个问题在这里已经有答案了 我有一个 HTML 页面 在变量中schedule具有以秒为单位的连续十进制数 我的目的是创建一个函数 使用 JavaScript jQuery 及时转换所有这些数字 但我无法理解 如何调用我的函数来转换所有项目
  • WPF 中的命令链接

    有人可以告诉我如何在 WPF 窗口中添加 CommandLink 控件吗 这就是我所说的 CommandLink 的意思 http msdn microsoft com en us library aa511455 aspx http ms
  • CouchDB 组级别和键范围

    谁能向我解释为什么以下不起作用 假设以下文档结构 id 520fb089a6cb538b1843cdf3cca39a15 rev 2 f96c27d19bf6cb10268d6d1c34799931 type nosql location