1

因此,在使用 nano 的 couchdb 中,如果您不知道文档的 _rev,则更新它的唯一方法是使用 db.atomic,这需要将一些设计文档上传到 couchdb。我对吗?我想知道是否有更好的方法来进行原子更新操作,只需在代码库上执行所有操作,而不是将这些设计文档单独上传到我的 couchDB 中?

4

1 回答 1

0

获取文档的 _rev 非常简单,您只需发送 HEAD-request 即可立即获得 rev。这是我发现的一些用于在 nano 中进行更新的代码:

db.insert({"foo": "bar"}, "foobar", function (error, foo) {
  if(err) {
    return console.log("I failed");
  }
  db.insert({foo: "bar", "_rev": foo.rev}, "foobar", 
    function (error, response) {
      if(!error) {
        console.log("it worked");
      } else {
        console.log("sad panda");
      }
    });
  });

我来自:http ://writings.nunojob.com/2012/07/How-To-Update-A-Document-With-Nano-The-CouchDB-Client-for-Node.js.html

于 2015-09-22T22:26:51.083 回答