我是懒惰/纳米和数据库的新手。我有一个安装了ouchdb的Docker容器。我正在使用nano来访问沙发床功能。
我为数据库添加了一个更新处理程序功能:
{
"_id": "_design/Update_Handler",
"_rev": "11-2103c2595e4c56ddc0acc49e5d498f44",
"$doctype": "updateHandler",
"updates": {
"addData": "function(doc,req) {console.log(\"add this data to db \");}"
}
}
首先,我尝试编写一个简单的addData函数,并查看如何从nano调用它。我看到可以使用的db.atomic函数。
https://github.com/apache/nano#dbatomicdesignname-updatename-docname-body-callback
以下是此页面上列出的示例:
db.atomic("update", "inplace", "foobar",
{field: "foo", value: "bar"}, function (error, response) {
assert.equal(error, undefined, "failed to update");
assert.equal(response.foo, "bar", "update worked");
});
基于此,我尝试在我的代码中执行此操作:
this.myDB.atomic("updateHandler","addData",id1,data1,function(err, body){if(err) console.log(err);console.log("Added to DB using update handler\n");
但是,当我尝试执行类似操作时,出现404错误。看来我的nano实例无法找到已定义的addData处理函数。我确实看到了“使用更新处理程序添加到数据库”日志,但没有看到更新处理程序功能本身的日志。
一些问题:
先谢谢了。