更新批量文档时couchdb_rev冲突问题



我正在尝试使用npm (https://www.npmjs.com/package/nano)的nano couch包更新批量文档,但有时由于同一文档的_rev不同,couch会跳过这些文档的更新。但在我的情况下,我想更新所有的文档,不管_rev值

所以我尝试使用new_edits: false,它会忽略_rev值并强制更新所有文档,但在我的情况下,如果我使用new_edits: false,它甚至不会更新单个文档,当我使用该标志

下面是我的代码片段
await db.bulk({ docs: conf['docs'] , new_edits: false }).then(body => {
numberOfUpdates = body;
});

是否有其他方法来更新文档,而不考虑使用nano couch包的_rev值

在couchdb中批量保存文档之前,您需要:

  1. 获取所有需要批量保存的带有_ids的文档
  2. 将#1中从db获取的文档中的_rev替换为您想要保存在db中的文档
  3. 现在对db
  4. 进行批量保存调用

以上步骤将确保当你进行批量保存调用时,你正在传递最新的_rev,这将避免文档更新冲突。

相关内容

  • 没有找到相关文章

最新更新