问题标签 [couchdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
couchdb - Map / Reduce - 如何获取给定标签的出现次数?
我有一个带有 tags 属性的帖子文档,它存储为一个简单的数组。我正在尝试编写一个返回所有标签的视图,其中包含它们出现的次数,按出现次数排序。
以下返回列表,但未排序。基本上我需要以某种方式将减少结果放入键中?如果我在做一些愚蠢的事情,请纠正我,并让我知道我是否应该用我的中间件对其进行排序。
comparison - Amazon Simple DB 与 Apache CouchDB 有何不同?
除了金钱方面,Amazon 的 SimpleDB 与 Apache 的 CouchDB 在以下方面有何不同
- 与Java、C++等编程语言交互
- 性能和可扩展性
- 安装维护
performance - 性能基准 CouchDB x 关系数据库
有谁知道 CouchDB x“任何关系数据库”的良好性能基准的链接
http - Apache 作为 CouchDB 的反向代理
我正在考虑一个广泛使用 CouchDB 的 Web 应用程序,以至于尽可能多地使用本机 erlang HTTP API 提供服务会有很大的收益。
您能否将 Apache 配置为反向代理,以允许将外部 GET 直接代理到 CouchDB,而将 PUT/POST 发送到应用程序内部逻辑(用于卫生、身份验证......)?或者这是不明智的——CouchDB 内置的身份验证选项对于 Web 应用程序来说似乎有点弱。
谢谢
windows - Windows 上的 CouchDB?
我开始探索 CouchDB,我对以下内容感兴趣:
- 是否有或将有 Windows 安装?
- 如果有,是否有提供 CouchDB 的共享托管服务提供商?
- 不太了解它,它能否以某种方式嵌入我的应用程序或部署的 bin 中(不要笑)。
database - 何时使用 CouchDB 与 RDBMS
我在看 CouchDB,它比关系数据库有许多吸引人的特性,包括:
- 直观的 REST/HTTP 接口
- 容易复制
- 数据存储为文档,而不是规范化的表格
我很欣赏这不是一个成熟的产品,因此应该谨慎采用,但我想知道它是否真的是 RDBMS 的可行替代品(尽管介绍页面另有说明 - http://couchdb.apache.org/docs /intro.html )。
- 在什么情况下,CouchDB 是比 RDBMS(例如 MySQL)更好的数据库选择,例如在可扩展性、设计+开发时间、可靠性和维护方面。
- 是否仍然存在 RDBMS 显然仍然是正确选择的情况?
- 这是一个非此即彼的选择,还是一种混合解决方案更有可能成为最佳实践?
ruby-on-rails - Rails 中基于模型的 CouchDB 数据删除
我想设置一个 rake 任务来用夹具数据填充我的 CouchDB,并且必须首先删除数据库中的数据。可以在此处找到使用 MySQL 的整个过程的一个很好的示例。该示例包含以下部分,用于删除 MySQL 数据库中模型的数据:
CouchDB 的等价物是什么?我是否必须采取完全不同的方法,因为为关系数据库设置的这个概念不能应用于面向文档的数据库?
提前谢谢了!
versioning - CouchDB 版本控制策略
以下是否是实现版本控制的可行策略(使用“示例”作为示例文档类型):
拥有一份原始文档,其中类型字段名为 example_original。
文档的后续更改都以 example_change 类型和 example_original 文档的 id 作为键。更改还将带有时间戳。
保留一个类型为 example_current 的文档,该文档是 example_original 的结果,所有 example_change “已应用”。一个新的 example_change 文档将自动应用于该文档。
查找特定版本将包括检索 example_original 文档并应用所需的更改(主要是到某个时间戳,但也可能是许多更改)。
我应该提一下,我的用例将涉及对原始用例的有限数量的更改。大多数更新将包含新的原始文档。虽然这是我当前的用例,但如果涉及到许多更改,我也会对可能导致的问题感兴趣。
您认为这种方法有哪些优点和缺点?
apache - 管理 ajax Couchdb 调用和 IE 的 (hta) 积极缓存
我遇到了一个非常烦人的问题,并想出了一个非常丑陋的黑客来使它工作。
我使用 CouchDB 数据库(供公司内部使用)开发 Hta 应用程序。问题是似乎有一些非常激进的数据库查询缓存,而且很难想出解决方案。所以数据库中的更新数据不会出现在浏览器中,浏览器仍然在缓存中保留先前的请求结果,直到整个应用程序重新启动。
哦,CouchDB(或者它的 mochiweb 服务器)不允许未知的 GET 变量,所以通常的附加某种时间戳的解决方案是行不通的。
我找到了某种解决方案,但它非常丑陋。解决方案是:
- 仅打开具有最新修订号的文档(简单而美观,不适用于视图)
- 使用 apache 作为转发代理监听 200+ 端口,并在每个读取查询中随机选择一个。(那是丑陋的)。
Hta 接受对其他端口的 ajax 调用(甚至可能在其他域上,奇怪的行为),所以它工作得很好,我只有 1/200 的机会不会出现新数据,但这仍然比 1/1 更好,我可以忍受。
所以我要问的是,有没有更好的解决方案?我可以侵入 mochiweb 服务器来修改缓存标头(并希望它们不会被忽略)吗?我可以在网址中使用一个特殊的未知“一次性”键来附加一些随机字符串吗?或者有没有办法告诉 Hta 不要缓存任何东西(从应用程序中,这应该可以在数百台计算机上工作)?
java - 如何同步对 ehcache、memcached 和其他键值存储的访问?
据我了解,这些方法中的每一个:get()
和put()
都是原子的。
但是,当访问像 ehcache 和 memcached 这样的缓存时,CheckThenAct
会出现竞争条件。
我们应该同步什么以确保如果 thread1 执行 aGet()
并且 thread2 执行 aGet()
后跟 a Put()
,那么第一个Get()
将接收到添加的新值thread2
?