草庐IT

ruby-on-rails - 我应该使用哪个适用于 Ruby 的 CouchDB 适配器?

一些我找到的选项是ActiveCouchCouchRESTCouchPotatoRelaxDBcouch_foo我更喜欢GitHub上的项目,因为这让我更容易fork和推送修复。所有这些都符合该要求。我习惯了Rails,所以我喜欢像ActiveRecord模型一样工作的东西。另一方面,我也不希望我和Couch之间太多--毕竟我使用它作为我的数据库是有原因的。最后,它们似乎都得到了相当积极的维护(couch_foo可能是个异常(exception))。所以我想这归结为(不可否认和不幸的)主观:有没有人对他们有过好的或坏的经历? 最佳答案

ruby-on-rails - CouchDB 文档模型更改?

Rails使用迁移的概念来处理使用ActiveRecordAPI的模型更改。CouchDB使用JSON(嵌套映射和数组)来表示其模型对象。到目前为止,在使用CouchDB的过程中,我没有看到识别文档结构何时发生变化(除了作为开发人员受到纪律约束)或将文档从旧模型迁移到新模型的好方法。CouchDB中是否存在处理模型更改的现有功能或最佳实践? 最佳答案 RDBMS洗脑时间到了。:)couchdb无模式设计的最大亮点之一就是直接旨在避免迁移需求。对象的JSON表示形式使您可以轻松地回避键入您的对象。例如,假设您有一个博客类型的网络应用程

ruby-on-rails - Ruby on Rails 的对象数据库

是否有使用某种对象存储的ActiveRecord的直接替代品?我认为像Erlang的MNesia这样的东西会很理想。更新我一直在研究CouchDB,我认为这是我要选择的选项。这是使用CouchRest和ActiveCouch之间的折腾。CouchRest相当成熟,并在CouchDBpeepcode情节中使用,但它不是ActiveRecord的直接替代品,这有点不利。可以说CouchDB非常出色。更新(2009年11月10日)CouchDB并没有真正为我工作。CouchDB并不真正支持任意查询(需要提前编写和编译查询)。它还会在非常大的数据集上中断。我一直在玩MongoDB这真的很不可思

ruby - 如何停止思考 "relationally"

在工作中,我们最近开始了一个使用CouchDB(面向文档的数据库)的项目。我一直很难摆脱我所有的关系数据库知识。我想知道你们中的一些人是如何克服这个障碍的?您是如何停止关系式思考并开始以文件方式思考的(我为编造这个词而道歉)。有什么建议吗?有帮助的提示?编辑:如果有任何不同,我们正在使用Ruby和CouchPotato连接到数据库。编辑2:太麻烦我接受答案了。我认为,我选择了对我学习帮助最大的那个。但是,我想没有真正的“正确”答案。 最佳答案 我认为,在仔细阅读了关于这个主题的几页之后,这完全取决于您正在处理的数据类型。RDBMS代

javascript - CouchDB View 使用来自两个单独文档的嵌入式数组组成 JSON 对象

假设我的CouchDB数据库中存储了两种类型的文档。第一个是属性类型设置为contact,第二个是phone。联系人类型文档有另一个名为名称的属性。电话类型有属性number和contact_id以便它可以引用联系人。这是一个简单的一对多场景,其中一个联系人可以有N个电话号码(我知道它们可以嵌入到单个联系人文档中,但我需要证明与不同文档的一对多关系)。原始示例数据,其中Scott有2个电话号码,Matt有1个电话号码:{_id:"fc93f785e6bd8c44f14468828b001109",_rev:"1-fdc8d121351b0f5c6d7e288399c7a5b6",typ

javascript - 从没有像 nano 或 cradle 这样的库的 Node.js 和 CouchDB 开始

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Getting'bad_requestinvalid_json'errorwhentryingtoinsertdocumentintoCouchDBfromNode.js投票最高的答案CouchDBandNode.js-Whatmoduledoyourecommend?建议不要使用nano或cradle等库来开始使用Node.js和CouchDB。但是我还没有找到任何关于如何以编程方式为所有DBMS执行标准操作(例如创建数据库、创建表、添加和查看数据等)的教程。编辑:(部分答案)在安装并启动CouchDB后转

javascript - 连接 AJAX、CouchDB 和 JavaScript

我在使用AJAX、CouchDB和JavaScript时遇到了一点问题。我可以在浏览器中从CouchDB打开以下URL:http://192.168.1.58:5984/mydb/namenewAjax.Request('http://192.168.1.58:5984/mydb/namee',{method:'POST',onComplete:function(transport){alert(transport.responseText);}});我总是收到空警报。你能帮帮我吗? 最佳答案 这里的问题是,您的浏览器不允许您在其他

javascript - couchdb View 绑定(bind)在两个数据库之间?

假设我的沙发实例上有几个数据库(在我的例子中是用户帐户数据库和登录session数据库)session具有与用户数据库中的字段相对应的字段。有没有一种方法可以创建View或进行包含这种关联的调用,或者只需要使用外部脚本来完成?为了更清楚,这里有一个例子。Accountdb:{"_id":"78555fdfdd345debf427373f9dfaeca4",..."username":"bob"}Sessionsdb:{"_id":"78555fdfdd345debf427373f9dfcd7ae",.."accountId":"78555fdfdd345debf427373f9dfae

javascript - CouchDB 中的相似条件

我想在CouchDB中执行LIKE条件(SQL语法)。如何才能做到这一点?LIKE条件将用于在浏览器中执行自动完成。我想在输入字段中写“co”并得到结果Coffee、Couch、CouchDB等。 最佳答案 搜索字符串开头的字母非常容易。您只需要一个View来发出您要搜索的字符串作为键。假设用户输入存储在变量q中,然后使用参数startkey=q和endkey=q+"\ufff0"调用该View>.此处的技巧是将最高可能的Unicode字符附加到搜索字符串。在排序顺序中,此字符串位于以q开头的任何其他内容之后。(这比@titanob

javascript - 使用 CouchDB PouchDB 防止身份验证弹出窗口 401

对于JavaScript网络应用程序(基于AngularJS),我使用PouchDB在我的服务器上复制CouchDB数据库。PouchDB中的身份验证与pouchdb-authentication配合得很好.我想通过html/js登录屏幕来管理它。但是,如果用户输入了错误的凭据,我会从CouchDB服务器收到401Unauthorized,这会导致浏览器弹出窗口要求提供凭据。我怎样才能防止这个丑陋的身份验证弹出窗口并只处理我的javascript中的所有内容?! 最佳答案 我终于找到了解决方案:编辑CouchDB配置local.in