2010-09-02 68 views

回答

4

你不能。 GET(正确使用时)不会修改数据; CouchDB正确使用GET。

如果您确实想要记录这样的访问时间,您需要使用新的时间戳更新文档并将文档放回CouchDB。但是,如果有不少人在访问文档,您很可能会争用它并从CouchDB中获取冲突错误。

一种选择是在每次访问时在CouchDB中创建一个新的“文档访问”文档,但这会迅速增加数据库的大小。如果这有用,您实际上有访问时间的历史记录吗?

就我个人而言,我只会简单地将文档访问权记录到文件或队列中,并在后台处理文件/队列。您可以为每个实际文档创建一个“文档访问”文档,因为几乎没有争用的可能性,并且失败的更新可能无关紧要(无论如何您都可以再次尝试)。

+2

您也可以使用更新功能更新一个或多个字段,而不必先获取整个文档。 http://wiki.apache.org/couchdb/Document_Update_Handlers – 2010-09-03 16:54:06