pouchdb put 仍然被 _rev 拒绝
pouchdb put is still rejected with _rev
我是第一次使用 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
。
我是第一次使用 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
。