问题标签 [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 回答
1213 浏览

node.js - 编辑/更新文档 CouchDB (node.js) 中的嵌套对象

我正在尝试在 couchDB 文档中添加(又名。推送到现有数组)。非常感谢任何反馈。

我的数据库中有一个名为“调查”的文档,名为“ database1 ”。我将“调查”作为一组数组,其中包含有关每个调查的信息的对象。

我的目标是更新我的“调查”文件。不替换我的数组,而是向现有数组添加一个新对象。我使用过“ nano-couchdb ”和“ node-couchdb ”,但找不到解决方法。我能够更新我的“调查”,但它会替换整个事情,而不是将现有对象保留在数组中。

1)使用纳米沙发:

2)使用沙发节点:

这些适用于向数据库添加新文档,但不适用于向现有文档添加内容。

我希望我的请求能够正常工作

每当新数据进入本文档时。

0 投票
1 回答
360 浏览

javascript - CouchDB 无法通过 nano 模块更新文档

我正在使用这个 Node.js 模块nano

为什么我无法更新我的文档?我会想疯狂:真,然后又是假。
这是我的代码:

0 投票
1 回答
860 浏览

javascript - Couchdb `nano` 模块 - 未处理的拒绝 - 不是 Object 的函数

我在我的代码中添加了 CouchdbUpdate函数并且没问题但是当我在里面使用它时bot.onText(/^[\/!#]start$/, msg => {我有这个错误:

我应该如何解决?这是我的代码:

0 投票
2 回答
538 浏览

javascript - 使用 nano 从 couchdb 返回查询

我编写了一个简单的模块来使用 nano 处理我的 couchdb CRUD 操作,但是我很难从我从沙发数据库查询的结果中返回。我的代码如下。 沙发数据库.js

路由.js

执行返回输出时只获取Node http请求参数,没有返回行,需要帮助才能返回查询到的实际JSON行。Thanx

0 投票
1 回答
349 浏览

node.js - 将 Promise 与 CouchDB nano 和 forEach 一起使用

我需要帮助调试此代码/或学习有效的方法 - 我尝试使用 bluebird.each 来捕获我的 forEach 中的所有执行,但没有得到它的工作。与使用纯 JavaScript 设置新承诺相同。我需要帮助如何执行我的 forEach FIRST 并继续前进。

  • 预期结果:

    /li>
  • 实际结果:

    /li>

我认为这是异步性的问题,但我似乎无法弄清楚如何真正做到这一点。任何输入或资源将不胜感激!

0 投票
1 回答
1456 浏览

json - 尝试在 CouchDB(Cloudant)数据库上使用批量文档创建时出现 Json 错误

根据此https://docs.cloudant.com/document.html#bulk-operations 我正在尝试将多个文档插入到我的 cloudant 数据库中,但出现错误:

我从示例文档中获取了输入 Json 并在线检查了 JSON 验证器,它似乎没问题。我做错了什么?

0 投票
0 回答
256 浏览

javascript - 更新文档后无法压缩数据库

我是 couchdb 的新手,我现在正在实施它,看看天气将它用于新项目是否好。所以我搜索我正在使用以下驱动程序使用 Node.js https://github.com/apache/couchdb-nano操作它

这里只是尝试进行 CRUD 操作,所以我只是编写此代码来测试删除文档。

这给了我以下错误任何想法如何解决它?

TypeError: nano.db.comapact is not a function

0 投票
1 回答
97 浏览

javascript - 在reduce函数中没有返回键

使用 Nano 在 NodeJS 中查询 Couch 视图,以计算所有文档中标签的出现次数。如果我在视图上选择 Fauxton 中的 reduce,它会正确显示每个标签名称作为键和计数。但是,在我的 Node 应用程序中,我只是将“Null”作为键,以及所有标签。

标签名称(而不是 _id)存储在每个文档中。这是我的地图功能(使用 _count 减少功能):

这是我在 Node 中的(Nano)代码:

它返回:

编辑 添加示例文档:

标签:

包含标签的文档:

0 投票
1 回答
202 浏览

node.js - 沙发上多个组织的最佳实践

所以我有一个使用 nano 和 couchdb 作为后端的 node express 应用程序,它运行良好。我现在正在研究如何将其扩展到多个组织。

例如,通配符 DNS 记录允许每个客户使用https://customername.myapp.com。然后,我将检查主数据库中的 req.headers.host,并检查每个请求中的会话 cookie 等。

不过,我正在努力解决的问题是后端将如何工作。我想我理解正确的方法是为每个组织使用一个数据库,并从模板数据库中复制设计。

但如果这是正确的,我不明白这是如何使用 nano 转换为我的代码的。我目前使用这个:

然后在我的功能中:

但是当数据库本身是一个变量时,这将不起作用。我是否应该考虑将查询移至较低级别,例如 nano.get('dbname', query... 或其他?

编辑

希望有人可以给我一个示例,说明如何使用中间件根据主机标头更改数据库名称。到目前为止我有这个:

但我不明白如何传递沙发对象(“沙发”在我的其余路由中是未知的)。我曾尝试在“下一个(沙发)”中将其传回,但这会破坏它......

0 投票
1 回答
352 浏览

node.js - Unauthorised admin on Cloudant Local using nodejs-cloudant (nano)

I've been trying to get cloudant local going for a couple of hours. I've installed via docker as described here

I can access the dashboard on localhost:8080 with the default creds. And I can curl the DB when I supply same creds e.g. curl -X PUT $HOST/database -u admin:pass

The problem is, when I connect with the nodejs-cloudant module I always get 401 - Unauthorised errors, specifically:

{ error: 'unauthorized', reason: 'one of _all_dbs, _admin, server_admin is required for this request', statusCode: 401 }

It seems that the issue is that there is no user being returned when cloudant local connects. When I connect to my cloud based cloudant instance, the reply.userCtx is populated, however when connecting locally it is: userCtx: { name: null, roles: [] } }

The actual login seems to be working though as I've tested with incorrect creds.

This is where I am setting the credentials: