我正在尝试使用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中批量保存文档之前,您需要:
- 获取所有需要批量保存的带有_ids的文档
- 将#1中从db获取的文档中的_rev替换为您想要保存在db中的文档
- 现在对db 进行批量保存调用
以上步骤将确保当你进行批量保存调用时,你正在传递最新的_rev,这将避免文档更新冲突。