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

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和正确的数据。

请为我提供解决scheme。

提前致谢。

我是这个模块的创造者。 这里的问题是,您正试图删除没有修订版本号的文档。 (文档上有一个_rev数字,但是couchdb-api没有这些信息)任何其他的写入尝试都会在这些情况下触发这个错误。

现在你有几个select:

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

 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)