我正在实现一个应用程序,其中包括登录以访问存储在托管CouchDB存储中的文档的用户。用户向应用程序提供其凭据,一旦应用程序对其进行身份验证,该应用程序就会有两个作业:
我不得不以一种效率相当低的方式做这两件事:我读了一个View,它将应用程序的用户标识符(在这种情况下是他们的电子邮件地址)映射到他们的文档ID。一旦我有了文档ID(并将其添加到会话中供以后使用),我就必须请求文档,上升“lastOpened”值,然后将文档保存回商店。
对我来说,这似乎是3次访问数据库:1。从视图中获取文档ID,2。使用该ID获取文档,3。保存更新的文档。
是否有将这项工作减少到更少的数据库旅行?
答案 0 :(得分:3)
如果您可以更改文档结构,则可以使用用户的登录名作为文档ID。这样,您就不必使用视图。使用update handlers,您甚至可以在一个请求中完成所有工作。
答案 1 :(得分:1)
对我来说,这似乎是3次访问数据库:1。从视图中获取文档ID,2。使用该ID获取文档,3。保存更新的文档。
是否有将这项工作减少到更少的数据库旅行?
您可以通过添加"?include_docs = true"来从视图中获取文档。请求中的查询参数。所以两步而不是三步。