每当访问文档时,我想将上次访问时间添加到文档中。
每当有 GET 请求时,如何更新 View 中的文档?
最佳答案
你不能。 GET(正确使用时)不会修改数据; CouchDB 正确使用 GET。
如果您确实想记录这样的访问时间,您需要使用新时间戳更新文档并将文档放回 CouchDB。但是,如果有多个人正在访问某个文档,则很可能会出现争用,并从 CouchDB 中收到冲突错误。
一种选择是在每次访问时在 CouchDB 中创建一个新的“文档访问”文档,但这会迅速增加数据库的大小。如果有用的话,您实际上会有访问时间历史记录吗?
就我个人而言,我会考虑简单地记录对文件或队列的文档访问,并在后台处理文件/队列。您可以为每个真实文档分配一个“文档已访问”文档,因为争用的可能性很小或根本没有,并且更新失败可能并不重要(无论如何,您始终可以重试)。
关于couchdb - 在 View 中添加 CouchDB 文档的上次访问时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3628954/