在PouchDb中更新文档的_id

3
有没有一种更新文档id的方法?我尝试使用以下代码来实现,但是会抛出错误(如下):
this.db.get('oldId')
  .then(document => {
    this.logsheetDB.put({
      _id: 'newId',
      _rev: document._rev,
      objectToInsert,
    });
  })

错误:

{"status":409,"name":"conflict","message":"Document update conflict"}"

有没有其他方法可以重新创建文档以外的方式?
任何帮助都表示感激。
1个回答

3
您不能更改文档的_id,这是没有意义的。
如果您获取一个文档并更改其id,则会创建具有不同id的克隆。如果您想要这样做,只需删除_rev即可。
为什么在更改_id时需要删除_rev?我们通常传递_rev属性以避免冲突,并告知CouchDB我们正在更新基于修订X的文档。通过更改_id,我们正在创建一个新文档,因此不存在现有文档可供修订。

1
请注意,在克隆文档后删除旧文档。 - skiqh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接