问题标签 [couchapp]

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.

0 投票
1 回答
327 浏览

android - 将 couchdb 与 Android 应用程序捆绑在一起

我正在按照此处的说明进行操作

http://www.couchbase.org/get/couchbase-mobile-for-android/current

启动 Couchdb 实例后,如何将 couchapp 从我的机器推送到模拟器?

0 投票
1 回答
1135 浏览

couchdb - CouchDB:单个文档与将文档“连接”在一起

我正在尝试确定 CouchApp(无中间件)的最佳方法。由于与我的想法有相似之处,假设我们有一个存储在 CouchDB 中的 stackoverflow 页面。本质上,它由顶部的实际问题、答案和评论组成。这些基本上是三层。

有两种存储方式。要么在包含数据的合适 JSON 表示的单个文档中,要么将条目的每个部分存储在单独的文档中,稍后通过视图将它们组合起来(类似于:http ://www.cmlenz.net/archives/2007/ 10/沙发数据库连接

现在,这两种方法可能都很好,但从我目前的角度来看,两者都有很大的缺点。将繁忙的文档(预计会通过多个用户进行许多更改)存储为单一实体会导致冲突发生。如果用户 A 存储他/她对文档的更改,用户 B 将在他/她完成键入他/她的更新后收到冲突错误。我可以想象,在用户不知情的情况下,可以通过在重试之前重新下载文档来解决此问题。

多用户更新问题

但是如果文件很大怎么办?我会排除它们随着时间的推移而变得相当混乱,这会给保存过程带来相当大的延迟,特别是如果由于许多用户同时更新文档而必须多次发生重试过程。

我会看到的另一个问题是编辑。应该允许每个用户编辑他/她的贡献。现在,如果它们存储在一个文档中,则可能很难编写可靠的身份验证处理程序。

好的,现在让我们看看多文档方法。问题、答案和评论将存储在他们自己的文档中。优点:只有文档的实际所有者会引起冲突,这种情况不会经常发生。作为整体中相当小的元素,重新下载不会花费太多时间。此外,auth 例程应该很容易实现。

现在这是不利的一面。单个文档真正易于查询和显示。放置大量未排序的片段似乎是一件混乱的事情,因为我并没有真正获得实际视图来向我展示一个 100% 准备好使用的 JSON 对象,其中包含以有序和结构化格式的整个项目。

在此处输入图像描述

我希望我能够传达实际问题。我试图决定哪种解决方案更适合我,哪些问题更容易克服。我认为第一个解决方案在存储和查询方面更漂亮,而第二个解决方案更实用,可以通过视图内更好的密钥管理来解决(我还没有完全了解密钥的原理)。

非常感谢您提前提供的帮助:)

0 投票
3 回答
1189 浏览

unit-testing - 如何为 Kanso 编写单元测试

我编写了很多 django 应用程序,并习惯于扩展unittest.TestCase和运行python manage.py test app_name. 是否有类似的简单方法来对Kanso应用程序进行单元测试?请提供一个最小的例子。

谢谢。

0 投票
2 回答
447 浏览

node.js - couchapp 不起作用!(node.couchapp.js)

我有一个问题:我已经安装了 couchapp,但效果不太好。我尝试在这里重复显示:http: //vimeo.com/26147136但是:

“sys”模块现在称为“util”。它应该有一个类似的界面。

node.js:201 抛出 e;// process.nextTick 错误,或第一次滴答时的 'error' 事件 ^

错误:require.paths 被删除。请改用 node_modules 文件夹或 NODE_PATH 环境变量。在功能。(module.js:376:11) 在对象。(/home/master/.node_libraries/couchapp@9999.0.0-LINK-b6f5885b/index.js:4:21) 在 Module._compile (module.js:432:26) 在 Object..js (module.js: 450:10) 在 Module.load (module.js:351:31) 在 Function._load (module.js:310:12) 在 Module.require (module.js:357:17) 在 require (module.js: 368:17) 在对象处。(/home/master/WebDev/superblog/app.js:1:79) 在 Module._compile (module.js:432:26)

我不知道要纠正。请帮帮我!

0 投票
1 回答
3244 浏览

oauth - CouchApp 用户注册

我正在构建一个独立的 couchdb 应用程序。这些被称为沙发应用程序。这个想法是数据库本身在端口 80 上提供服务并返回 HTML 并作为实际网站工作。这是一个非常强大的想法,我对这个让代码存在于数据库中的新概念感到非常惊讶。

但是我在用户注册方面遇到了一些问题。couchdb 内置的允许设置 cookie 并使其非常容易将其插入您的网站。但是我的应用程序需要一些非常重要的东西才能说它有一个“正确的”用户注册系统。

  1. 没有注册验证。不发送电子邮件,不显示验证码。这意味着任何人都可以向您的_users数据库发送垃圾邮件并创建任意数量的新用户。

  2. 如果用户忘记了密码,则无法帮助他们恢复密码。

知道如何在不进行任何较低级别的核心 Erlang 开发(不是 Erlang 人)的情况下克服这些问题吗?如果有人知道我是否可以使用 OAuth 对 Twitter 或 GitHub 帐户进行身份验证并将其与 couchdb 数据的处理方式(内部validate_doc_update函数)无缝集成,那也很棒。

谢谢

0 投票
2 回答
608 浏览

javascript - 如何在沙发应用程序中使用 couch.js?

CouchDB 1.1 带有一个非常有用的 Javascript 文件,称为 couch.js。我可以在我的 Couch 实例上的http://localhost:5984/_utils/script/couch.js找到它。

我想在 CouchApp 中使用这个脚本。特别是我希望能够从更新处理程序视图的 Javascript 函数内部运行它。该文件看起来不符合 CommonJS 标准,但我还是尝试了。我将它复制到我的沙发应用程序的 lib 目录中。我尝试使用 CommonJS 的 require 语句将其包含在内,但加载失败。我尝试了以下方法:

任何人都可以帮我将它加载到 Javascript 函数中吗?当我在网上搜索时,我找到了将其包含在 HTML 文档中的帮助,如下所示:

显然,这在我的 Javascript 函数中不起作用。

此外,如果有一种方法可以让我从 _utils 目录中包含它,而不必将其复制到我的 couchapp lib 目录中,我更愿意这样做。但这只是额外的奖励。

0 投票
1 回答
104 浏览

couchapp - 将 _attachment 文件合并为 couchapp 中的预处理步骤

我在目录中有一个具有以下结构的 couchapp _attachments

当我运行时couchapp push,我希望将其中的所有文件_attachments/code(或其中的任意目录_attachments)组合成一个可以在_attachments/code/index.html. 指定目录中文件的顺序会很有帮助。

有一个 couchapp 挂钩可用于压缩文件,但我没有看到一种简单的方法来组合它们,特别是因为这可能意味着输出一些中间文件,确保原始文件不会被上传并清理。

组合文件的钩子是最好的方式吗?如果是,你会如何推荐它?

0 投票
1 回答
115 浏览

couchdb - Couchapps 和用户处理

我有一个 couchdb 实例,我想在其中部署两个 couchapp。

到目前为止,对于注册用户,我看到经验法则是使用authentication_db配置文件中定义的[couch_httpd_auth].

但是拥有两个 couchapps 意味着我将在同一张表中存储来自不同应用程序的用户的信息(角色)_user

如果我只想复制一个应用程序,那不是问题(安全性)吗?

如果_user不与我的应用程序复制,我如何确保我的复制 couchdb 实例中的 _user 将保持一致并保持与我的原始 couchdb 实例相同的内容?

0 投票
1 回答
485 浏览

javascript - CouchDB OpenDoc 函数中的 JQuery TypeError

虽然我使用 CouchDB 特定的 JQuery 版本,但问题似乎与 CouchDB 无关。有一个文档 id 的列表,当用户单击 id 时,我正在使用文档openDoc中的函数来检索文档:

其余代码(66 行)在这里

console.log(doc_id)输出一个字符串,但我得到一个错误:Uncaught TypeError: Object #<Object> has no method 'split'在处理的点docId

问题是什么?有什么建议么?

0 投票
1 回答
98 浏览

couchdb - 如何找到当前 url 被重写?

毫不奇怪,可以构建相同的 couchapp 以在打开或关闭重写的情况下工作。

我想知道,有没有一种方法或技术可以在客户端找出重写当前是否正在工作,即当前的 url 是否被重写?

请分享。