问题标签 [couchdb-nano]

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 回答
1119 浏览

node.js - 使用 nano 将二进制附件插入到 CouchDB

我正在尝试使用 nano 将二进制附件插入到 CouchDB。我有一个 JPGdata返回http.request

我保存nano如下

但是当我尝试通过网络浏览器查看它时,图像被破坏了。

该文件充满了 UTF-8 转义字符,当我使用 CURL 拉取它时可以看到:

内容没有损坏,因为如果我将其保存到文件中,我可以看到图像。

正确的方法是什么?

0 投票
0 回答
59 浏览

javascript - Nano Couchdb 无法创建文件夹

我有一个名为“visitors”的数据库,他与另一个名为“users”的数据库具有相同的_id。我使用视图,因此用户可以访问http://localhost:3000/sitename它,它使用 _utiles/users/sitename 中的数据,并且运行流畅。

现在在那个网站里面我有一个表格,我想做的->表格中的数据需要发送到/visitors/sitename/NEW ID/Data,我所能做的就是在sitename里面打开一些数据,并且仅在第一次之后,所有更新冲突。我阅读了 Nano - Couchdb 提供的所有内容,但似乎无法弄清楚。这是代码示例:

谢谢一个头!

0 投票
1 回答
762 浏览

node.js - 使用 nano 查询 couchdb 中的多个字段

我想以与我首先使用 url 并使用 nano 执行 mysql 相同的方式查询 couchdb:

在 nano 我创建了我的视图:

尝试在蒲团中运行查询。到目前为止,我发现的唯一参考如下:

不返回任何结果。有任何想法吗?

不工作。

0 投票
1 回答
134 浏览

node.js - Userctx 不返回带有 cookie 身份验证的用户名或角色

我正在使用最新版本的 Node.js、Express、Nano 和 CouchDB,并且正在尝试获取当前经过身份验证的用户的用户名和角色。我正在使用 cookie 身份验证,它工作正常。但是,对 _session 的 GET 请求返回的是空白名称,并且没有用户角色。

这是我正在使用的代码:

auth 是在发送到沙发时定义的,它与存储在我的浏览器上的 cookie 匹配(通过 console.log 确认)。我需要做什么才能取回经过身份验证的用户的用户名/角色?

0 投票
1 回答
1546 浏览

node.js - 使用 CouchDB 插入非常慢?

我想检查与 MySQL 相比,CouchDB 可以处理多少插入。我的测试很简单:持续插入 10 秒{firstName: "Testing 001", lastName: "Testing 002"}并比较文档/行数。我得到的结果与我的预期相差甚远:

  • MySQL MyIsam:110,000 行
  • MySQL InnoDB:52,000 行
  • CouchDB:3,300 个文档!

如果我错了,请纠正我,但 NoSQL 是否应该在简单操作中始终胜过关系数据库?我没想到会有如此巨大的差异。也许我的测试很天真,我不应该以这种方式比较这些数据库?我知道 MySQL 驱动程序可以访问连接池,并且不必在每个请求上重新创建 TCP 连接,但它会产生如此大的差异吗?

CouchDB 插入是否应该如此缓慢,如果不是,如何正确执行?

我在干净的 CouchDB 数据库(没有任何设计文档)/Macbook Pro 2.6Ghz i7、16GB RAM、SSD/CouchDB 1.4.0 上运行测试

测试脚本:

// 编辑:

事实证明,问题不在于 CouchDB 方面。客户端的库/驱动程序有些东西使它们变得非常慢。使用 apache 基准测试的简单 POST 测试在 CouchDB 端显示了非常好的结果:

0 投票
3 回答
744 浏览

node.js - 使用 Node 模块 Nano 的临时 CouchDB 视图

Nano不提供临时视图的文档,是否有任何未记录的方法?如果做不到这一点,您将如何建议某人使用类似 nano 的语法执行临时视图。目前我正在尝试将视图创建为 _view/guid,对其进行查询,返回结果,然后将其从集合中删除:

我认为这对于沙发核心内置的临时视图功能来说是不理想的。

我知道临时视图警告,但我相信我有一个真正的用例。

0 投票
1 回答
198 浏览

node.js - 使用 node.js 在 CouchDB 中创建用户自己的文档

我想制作可以由一个具体用户(创建它的用户)更新/更改的文档。所有用户都可以看到的文档内容,但只有所有者可以更改它。问题是:如果我有用户名为“TheUser”的用户,如何创建自己的名为“TheUserDocument”的文档。只使用 Nodejs、Nano 或其他东西作为数据库不是问题。

0 投票
2 回答
2014 浏览

node.js - 使用 nano 插入用户时,CouchDB 抛出“404 missing”错误

尝试插入用户时,CouchDB 似乎会随机抛出错误。

以下是 CouchDB 的完整回复:

这显然不是很有见地。我得到的只是error: not_found, reason: missing,这并没有告诉我太多。它只是有时会发生,我真的不知道是什么触发了它。对此的任何见解都非常感谢。

这是相关的代码。我正在使用nano,但这只是对 CouchDB 的基本发布请求。

0 投票
1 回答
2911 浏览

node.js - 正确使用 nano.auth

所以根据这里的纳米文档:https://github.com/dscape/nano#using-cookie-authentication,您可以通过以下方式对用户进行身份验证:(在咖啡脚本中)

我对此很好,我可以得到正确的回应,我遇到的问题是之后该怎么做。我最初的想法是执行以下操作(通过蒲团使用管理员用户名和密码设置时):

如果我调试从 nano.auth 返回的错误、正文和标头,我会得到:

在我的测试中,我还尝试了以下似乎也不起作用的方法

谁能指出我哪里出错/误解了什么?

0 投票
1 回答
1904 浏览

node.js - 使用nodejs将附件添加到沙发数据库中的文档

我想更新 couchdb 中的现有文档。我有一张图片,我想将它添加到数据库中的现有文档中,而不会丢失以前的字段。

我正在使用带有 nano 的 nodejs。

坦克,这使我处于正确的方向。最后我这样做: