更新 PouchDb 中文档的 _id

Update _id of a document in PouchDb

有没有办法更新文档的id?我试图通过以下代码实现这一点,但这会引发错误(如下):

this.db.get('oldId')
  .then(document => {
    this.logsheetDB.put({
      _id: 'newId',
      _rev: document._rev,
      objectToInsert,
    });
  })

错误:

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

除了重新创建它(文档)还有其他方法吗?

感谢任何帮助。

您无法更改文档 _id,这没有任何意义。

如果您获取文档并更改其 id,您将创建一个具有不同 id 的克隆。如果你想这样做,你只需要删除 _rev.

为什么在更改 _id 时需要删除 _rev?我们通常传递 _rev 属性 以避免冲突并通知 CouchDB 我们正在更新的文档基于修订版 X。通过更改 _id,我们正在创建一个新文档,因此有没有要修改的现有文件。