var couchdb = require("couchdb-api");
var server = couchdb.srv(localhost, 5984, false, false);
var db = server.db("test");
var doc = db.doc("d5e1d042d579fcb1b3d4df07bc001f74");
doc.del(function (err, response) {
console.log(response);
console.log(err);
});
之后我面临问题,
null
{ error: 'bad_request', reason: 'Invalid rev format' }
但相应的文件有正确的修订版,如1-135dc47e3492a980fa45b3af9eb22a97和正确的数据。
请提供解决方案。
提前致谢。
答案 0 :(得分:5)
我是这个模块的创建者。这里的问题是您尝试删除没有修订号的文档。 (文档上有_rev
个数字,但couchdb-api
没有该信息)任何其他写入尝试也会在这些条件下触发此错误。
你现在有几个选择:
在尝试编写/删除之前获取当前文档
doc.get(function (err, body) {
doc.del(function (err, results) {
// the delete will be successful
});
});
在尝试写入/删除
之前明确设置您的修订号doc.body._rev = "1-myrevisionnumber";
doc.del(...);
我将在这里添加更好的错误消息,并且我正在考虑添加一个特殊标志,即使它没有最新的修订号,也会告诉couchdb-api
“强制”删除。 (即,它会在get
之前调用del
以避免MVCC)