gpt4 book ai didi

javascript - pouchdb put 仍然被 _rev 拒绝

转载 作者:行者123 更新时间:2023-11-27 23:04:40 24 4
gpt4 key购买 nike

我是第一次使用 pouchDB,正如文档中所示,我正在使用 put(),因此它将自动处理修订。但是,当代码运行并且存在具有相同 ID 的现有项目时,即使包含 _rev,它仍然会拒绝。

这是我的代码:

var db = new PouchDB('blog')
...
function saveCategory(category) {
var savedCategory = {
_id: 'category' + category.id,
_rev: '2-' + String(new Date().toISOString()),
name: category.name,
nicename: category.slug,
post_count: category.count,
description: category.description,
link: category.link,
parent: category.parent
}

return db.put(savedCategory).then((response) => {
$log.log(response)
}).catch((error) => {
$log.error('error saving category ',error)
})
}

最佳答案

这不是 _rev 字段的目的。它始终由服务器生成,而不是由您的代码生成。要更新文档,您必须提取整个文档(包括 _rev 字段),更新所需字段,然后放置文档。 _rev 的值应该与您从服务器获取的值相同。

如果您有新记录,则无需设置_rev

The pocketDB guide has a very useful section about this .

关于javascript - pouchdb put 仍然被 _rev 拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com