使用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)