gpt4 book ai didi

database - 在 CouchDB 中创建记录器?

转载 作者:搜寻专家 更新时间:2023-10-30 20:21:42 24 4
gpt4 key购买 nike

我想使用 CouchDB 创建一个记录器。基本上,每次有人访问该文件时,我都想将用户名和访问文件的时间写入数据库。如果这是 MySQL,我会为对应于用户的每个访问添加一行。我不确定在 CouchDB 中该做什么。我需要将每个访问存储在数组中吗?那更新的时候怎么办,有没有办法追加到文档上?每个用户都会有自己的文档吗?

最佳答案

我找不到任何关于如何在不检索和更新整个文档的情况下追加到现有文档或数组的文档。因此,对于您记录的每个事件,您都必须检索整个文档,对其进行更新并将其保存到数据库中。因此,出于两个原因,您需要保持文档较小:

  • 日志文件/文档往往变大。您不希望为您添加的每个新日志条目都通过网络发送大型文档。
  • 日志文件/文档往往经常更新。如果所有日志条目都存储在单个文档中,并且您正尝试写入大量并发日志条目,那么您很可能会在更新时遇到不匹配的文档修订。

您关于基于用户的文档的建议听起来是个不错的解决方案,因为它会使文档变小。此外,单个用户不太可能生成并发日志条目,从而最大限度地减少了竞争条件。

另一种选择是为每个日志条目存储一个新文档。然后,您永远不必更新现有文档,消除任何竞争条件以及在您的应用程序和数据库之间发送大型文档的需要。

关于database - 在 CouchDB 中创建记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3566930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com