我使用CouchDB 1.5并尝试使用相当简单的请求修复文档中的某些值。我只需get
一个文档,修改其中的值,然后立即put
。鉴于我的数据库使用率很低,我不希望这个简单的操作产生冲突。然而,属于85个不同用户的85个文档都没有因冲突错误而更新,没有明显的原因。
以下是我使用的代码:
var _ = require('lodash');
var PouchDB = require('pouchdb');
var couchdbUrl = 'https://USER:PASS@DOMAIN.COM';
var usersDb = new PouchDB(`${couchdbUrl}/_users`, {
skip_setup: true
});
usersDb.query('faulty_users/object_username', {
include_docs: true
})
.then((userDocs) => {
userDocs.rows
.forEach(function(userDoc) {
userDb = new PouchDB(`${couchdbUrl}/user%2F${userDoc.doc.hoodieId}`);
userDb.get('accountvalues/default', {
conflicts: true
})
.then((doc) => {
console.log(doc._id, doc._rev, doc._conflicts);
doc.values.accountValues.username = userDoc.doc.name.replace(/^user\//, '');
userDb.put(doc)
.catch((e) => {
console.log(userDoc.doc.hoodieId, e);
});
});
});
});
我已经阅读并再次阅读了PouchDB的文档,但我无法找到我做错的事情。我希望这里的错误很明显: - )