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

node.js - 按值对 CouchDB 结果进行排序

我是 CouchDB(和一般的 NoSQL)的新手,我正在创建一个简单的 Node.js + express + nano 应用程序来感受它。这是一个简单的书籍集合,包含两个字段,“标题”和“作者”。

示例文档:

减少功能:

由于 CouchDB 按键排序并支持“descending=true”查询参数,因此很容易在 UI 中实现一个过滤器来切换标题的排序顺序,这是我的结果集中的键。这是用户界面:

带有按升序或降序排列标题的链接的书籍列表

但是我完全不知道如何为作者领域做到这一点。

我看过这个问题,它帮助海报按数字减少值排序,我读过一篇博客文章,它使用列表也按减少值排序,但我没有看到任何方法可以做到这一点没有减少的字符串值。

0 投票
2 回答
2512 浏览

view - couchdb 视图以选择包含在文档数组中的键的记录

试图让我的头脑围绕 couchdb... 第一次使用不是 SQL 的数据库。

试图弄清楚如何编写一个返回特定团队中所有用户的视图......

用户文档是这样的:

您可以在那里看到团队数组...

我一直在尝试类似的东西:

但那不是它。我知道...

我在其他视图上取得了成功(例如通过用户 ID 查找用户)并使用 nano 调用它们,例如:

但是我很困惑如何做到这一点......

非常感谢任何帮助。

0 投票
2 回答
1200 浏览

node.js - 查询 Cloudant(使用 node.js 模块)数据库以获取文档列表?

考虑一个包含如下文档的数据库:

现在,我得到了一个用户名列表,即:

我返回了他们的电子邮件列表:

我怎样才能有效地解决这个问题?

使用 Node.js 查询 Cloudant(基于 nano 库)数据库。

0 投票
1 回答
461 浏览

node.js - 使用 nano 将会话传递给 couchDB

我无法将会话正确传递给 CouchDB。这是我的代码:

但是当我打电话时,我总是收到以下消息:

0 投票
1 回答
90 浏览

mapreduce - 在 CouchDB 中与输入键不同

给定文件,如:

我希望能够传入类别并键入键并取回不同的行,例如传入 and 的键"cat1""type1"返回["line1", "line2"]或传入"cat2""type1"返回["line2", "line3"]

如果我传递密钥,那就更容易了:

地图

减少

我正在使用 group: true,但在传递密钥时如何处理这个问题却很困惑。

PS,使用节点和纳米所以查询看起来类似于:

0 投票
0 回答
176 浏览

javascript - NodeJS 使用来自 couchDB 的 nano 填充选择

我有多个包含多个文档的 couchDB 数据库。我正在尝试使用来自 couchDB 的数据填充 3 个或更多 html 选择,使用 nodeJS 和用于 couchDB 的 nano 客户端。我正在尝试获取数据库中的所有文档并将它们插入到选择中。关于如何实现这一目标的任何想法?最好在单个请求中。

LE:我正在尝试使用列表方法来使用 nano 文档:https ://github.com/dscape/nano#dblistparams-callback

问题在于 js 是异步的,我无法在页面呈现之前收集我需要的所有信息。至少我不知道有什么方法可以实现这一点,这就是我想要做的。如果我只需要一个数据库但我需要查询多个数据库就可以了。

我想过做多个回调或使用来自 nodejs 的事件包,但在我看来,代码将成为绝对的噩梦。

0 投票
2 回答
222 浏览

node.js - 蓝鸟在 NodeJS 中的承诺,没有到那时

我正在尝试在 NodeJs 中使用 bluebird promises 和 nano 一个与 couchDb 一起使用的库。我使用了 promisfy,当我看到新的异步方法时。在下面的示例中,nano.db.listAsync调用运行良好,但我从未到达 .then 或 .catch。

这里有什么问题?

0 投票
3 回答
1333 浏览

database - couchdb 更新设计文档

nano我有一个 nodejs 应用程序,我使用以下脚本连接到我的 couchdb :

该脚本在每次服务器启动时运行,因此它会在每次服务器(重新)启动时尝试创建数据库“foo”,如果数据库已经存在,它只会静默失败。

我非常喜欢这个想法,因为这样我实际上是在应用程序级别维护数据库,并且在我决定添加新数据库时不必手动创建数据库。

将这种方法更进一步,我还尝试从应用程序级别维护我的设计文档。

显然,如果它不存在,这只会插入设计文档。但是如果我更新了我的设计文档并想要更新它怎么办?

我试过了:

现在的问题是每次服务器重新启动时都会更新设计文档(例如,每次重新启动时都会获得一个新的_rev)。

现在...我的问题:)

1:这是用数据库和设计引导我的 CouchDB 的糟糕方法吗?我应该考虑将一些迁移步骤作为我的部署过程的一部分吗?

2:我的设计文档有很多_revs,基本上是每次部署和服务器重启,这是一个问题吗?即使文件本身没有改变?如果是这样,有没有办法只在文档更改时才更新文档?(我想在我的应用程序中手动将 _rev 设置为某个值,但非常不确定这是否是个好主意)。

0 投票
1 回答
104 浏览

couchdb - Nanodb 复制过滤器

我有一个名为:'sample' 的数据库

我有 _design 文档,看起来像:

示例数据如下:

在我的节点服务器中,我使用 nano db 并尝试将他的复制功能与 filter 一起使用,它看起来像:

此操作的响应是:“缺少 json 键:newView”

我应该怎么做才能使这个过滤器复制?

谢谢

0 投票
3 回答
1953 浏览

node.js - nano.request() find by query couchDB

I need help with a function nano.request(). I try get data by a request using a cloudant (couchdb) query but i no have idea how make it and i search anywhere. please i need help :P how search by query in a nano.request function??

thanks