在PouchDb中更新文档的_id

时间:2017-07-27 16:39:04

标签: 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"}"

除了重新创建文档之外还有其他方法吗?

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

您无法更改文档_id,这是没有意义的。

如果您获得了一个文档并更改了其id,那么您将创建一个具有不同id的克隆。如果您想这样做,则只需删除_rev

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