使用node-couchdb-api在couchdb中删除文档时出错

Aru*_*una 1 couchdb node.js

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);
});
Run Code Online (Sandbox Code Playgroud)

在那之后我面临问题,

null
{ error: 'bad_request', reason: 'Invalid rev format' }
Run Code Online (Sandbox Code Playgroud)

但相应的文件有正确的修改,如1-135dc47e3492a980fa45b3af9eb22a97和适当的数据.

请给我解决方案.

提前致谢.

Dom*_*nes 5

我是这个模块的创造者.这里的问题是您尝试删除没有修订号的文档.(_rev您的文档中有一个数字,但couchdb-api没有该信息)任何其他写入尝试也会在这些条件下触发此错误.

你现在有几个选择:

在尝试写入/删除之前获取当前文档

doc.get(function (err, body) {
    doc.del(function (err, results) {
        // the delete will be successful
    });
});
Run Code Online (Sandbox Code Playgroud)

在尝试写入/删除之前,请明确设置修订号

doc.body._rev = "1-myrevisionnumber";
doc.del(...);
Run Code Online (Sandbox Code Playgroud)

我将在这里添加一个更好的错误消息,我正在考虑添加一个特殊的标志,couchdb-api即使它没有最新的修订号,也会告诉"强制"删除.(即get之前会打电话del以避免MVCC)