有没有办法更新文件的ID?我试图通过以下代码实现这一点,但这会引发错误(如下):
this.db.get('oldId')
.then(document => {
this.logsheetDB.put({
_id: 'newId',
_rev: document._rev,
objectToInsert,
});
})
错误:
{"status":409,"name":"conflict","message":"Document update conflict"}"
除了重新创建文档之外还有其他方法吗?
任何帮助表示感谢。
答案 0 :(得分:1)
您无法更改文档_id
,这是没有意义的。
如果您获得了一个文档并更改了其id
,那么您将创建一个具有不同id
的克隆。如果您想这样做,则只需删除_rev
。
为什么在更改_rev
时需要删除_id
?我们通常会传递_rev
属性以避免冲突,并通知CouchDB我们正在更新的文档基于修订版X.通过更改_id
,我们正在创建一个新文档,因此没有现有文档修改