如何使用 Evently 保存更新的 CouchDB 文档?
Posted
技术标签:
【中文标题】如何使用 Evently 保存更新的 CouchDB 文档?【英文标题】:How do I save an updated CouchDB doc with Evently? 【发布时间】:2012-03-09 03:22:11 【问题描述】:我正在关注IBM's tutorial on CouchDB,但在保存已编辑文档时遇到了问题。保存 new 文档可以正常工作,并且看起来我所有现有文档的值(通过 openDoc
函数检索)都是有效的,但新值根本没有采用。
当我跟踪执行代码时,看起来新值在那里:
但是,saveDoc
返回成功(奇怪!)之后,文档没有更新。如果我记录更新的文档,则记录的对象没有 _id
或 _rev
值,尽管您可以清楚地看到它们在保存时存在(参见第一个屏幕截图)。
saveDoc
或 Evently 是否有一些我不理解的细微差别?
【问题讨论】:
【参考方案1】:在您的 success
回调中,您没有记录 更新的 文档,您正在记录第 87 行的 newdoc
对象(减去它通过 saveDoc
函数,显然未定义_id
和 _rev
,但没关系)。
success
回调可以有一个参数,即来自服务器的响应。如果你写:
success: function(data)
console.log(data);
您应该在响应中看到一个以2-
开头的新_rev
。
如果您真的想在更新后查看完整的文档,只需从您的 success
回调中调用 openDoc
以获取更新的版本。
其他细节,当你说的时候
saveDoc
返回成功
我认为您的意思是调用了 success
回调,因为 saveDoc
是异步的,无论如何都应该立即返回。
【讨论】:
奇怪的是,我没有修改任何代码就回到了这里,现在它可以工作了。也许这是一个缓存问题——谁知道呢?不过,感谢您提供的重要提示,尤其是异步位。这将在以后为我节省大量时间!以上是关于如何使用 Evently 保存更新的 CouchDB 文档?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 evently 将事件处理程序附加到 CouchApp 中的小胡子渲染?
Couchapp && Evently && Mustache:我将如何输出子数组?
关于在 couchapp 和 evently 中使用 mustache partials 的问题