我正在关注IBM's tutorial on CouchDB并遇到了保存已修改文档的问题。保存新文档工作正常,看起来我所有现有文档的值(通过openDoc
函数检索)都是有效的,但新值根本就没有。
当我浏览正在执行的代码时,看起来新的值就在那里:
但是,在saveDoc
成功返回后(奇怪!),文档不会更新。如果我记录更新的文档,则记录的对象没有_id
或_rev
值,但您可以清楚地看到它们在保存时存在(请参见第一个屏幕截图)。
我不理解saveDoc
或Evently的细微差别吗?
答案 0 :(得分:0)
在success
回调中,您没有记录更新的文档,而是从第87行记录newdoc
对象(减去它通过{{1} } function,显然未定义saveDoc
和_id
,但没关系。)
_rev
回调可以有一个参数,即服务器的响应。如果你写:
success
您应该在回复中看到以success: function(data) {
console.log(data);
}
开头的新_rev
。
如果您确实希望在更新后看到完整文档,只需从2-
回调中调用openDoc
即可获取更新版本。
其他细节,当你说
时
success
成功返回
我认为你的意思是调用saveDoc
回调,因为success
是异步的,无论如何都应该立即返回。