如何使用nano更新couchdb中的文档

时间:2015-09-22 20:42:01

标签: javascript node.js couchdb couchdb-nano

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

1 个答案:

答案 0 :(得分:0)

获取文档的_rev非常简单,您需要做的就是发送HEAD请求,然后您就可以立即获得版本。 以下是我在nano中进行更新时发现的一些代码:

int coin[] = {3, 5}; //initialize array
int make;
int dp[2][100];

int call(int i, int amount)
{
     if(i >= 2) { // All coins have been taken
          if(amount == make) return 1;
          return 0;
     }

     if(dp[i][amount] != -1) return dp[i][amount];
     int ret1 = 0, ret2 = 0;
     // try to take coin i
     if(amount + coin[i] <= make) ret1 = call(i, amount + coin[i]); 

     ret2 = call(i+1, amount); // don't take coin i
     return dp[i][amount] = ret1 | ret2; // is possible or not?
}

int main()
{
    make = 7;
    memset(dp, -1, sizeof(dp));
    if(call(0, 0) == 0) cout << "not possible" << endl;
    else cout << "possible" << endl;

    return 0;
}

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

得到了这个