Que*_*ins 3 couchdb view node.js couchdb-nano
我是 node.js 和 couchdb 的新手,所以我一直在研究和执行一些代码测试,以尝试了解它们是如何工作的。
我正在使用 Nano 包来处理 Node.js 中的 couchDB。我能够连接到数据库并向其中插入数据。但我一直在努力理解如何查询数据。
我阅读了有关 couchDB 中视图的文档,从那时起,我一直尝试从创建的视图中检索数据,该视图称为customersView(数据库名称为testsqueila)。
视图的设计名称是“_design/custdoc/_view/customersView”。我试图实现的功能如下:
testsqueila.view('_design/custdoc/_view/customersView', 'customersView', function(err, body) {
if (!err) {
body.rows.forEach(function(doc) {
console.log(doc.value);
});
}
});
Run Code Online (Sandbox Code Playgroud)
发生了一些错误,因为控制台中没有打印任何内容。我不确定我是否以错误的方式使用视图的设计名称或其他方式。有人知道发生了什么事吗?我还添加了一些代码来获取 err 值,并在控制台中的消息末尾显示: errid: 'non_200' description: 'couch db returned 404'。
感谢您的任何帮助!
首先,我建议您查看nano 文档,其中详细介绍了您需要了解的有关 API 调用的所有信息。
仅当您直接查询 CouchDB 的 HTTP API 时,该命令_design/custdoc/_view/customersView才有效。使用 nanodb,您需要执行以下操作:
testsqueila.view('custdoc', 'customersView', function(err, body) {
if (!err) {
body.rows.forEach(function(doc) {
console.log(doc.value);
});
}
});
Run Code Online (Sandbox Code Playgroud)
所以 .view() 签名看起来像这样:db.view(designname, viewname, [params], [callback])
Designname 是不带_design/前缀的设计文档 ID 。就您而言,它是 custdoc。
Viewname 是您要查询的视图的名称。在你的例子中,它是customersView。
如果有不清楚的地方欢迎评论!欢迎来到 CouchDB 社区 :)
| 归档时间: |
|
| 查看次数: |
2639 次 |
| 最近记录: |