首页 > 解决方案 > Nano 不理解 url 中的 qoutation

问题描述

我正在使用 nano 库来查询沙发。我正在尝试仅获取 _design 文档,因此我有以下网址:

nano.get(encodeURIComponent(JSON.stringify(`_all_docs?startkey="_design/"&endkey="_design0"&include_docs=true`)));

当我在 post man 中尝试上述操作时(没有 encodeURIComponent 和 stringify)它可以工作,但 quation 似乎是 nano 的问题。知道如何让上述 url 返回 _design 文档列表吗?

标签: javascriptcouchdbcouchdb-nano

解决方案


  1. nano.get() 应该用于通过其 id 获取特定文档。它不应该用于进行自定义调用。如果要调用 _all_docs 端点,则必须使用该db.list()函数。
  2. 您不应该将字符串转换为 JSON 字符串。它将转义破坏 URL 的双引号。
  3. 要使用 nano 进行您自己的自定义调用,您应该改用nano.request

在您的情况下,您应该执行以下操作:

const db = nano.use(databaseName);
db.list({include_docs:true, startkey:"_design/", endkey:"_design0"});

推荐阅读