【问题标题】:CouchDB and Couchbase Document KeysCouchDB 和 Couchbase 文档密钥
【发布时间】:2014-05-29 20:59:47
【问题描述】:

在 CouchDB 和 Couchbase 的参考资料中,将文档的 type 作为参数存储在实际文档中是常见的指导。

我有一个数据库,其中有不同的文档,通过 URL 记录某些行为。所以很自然地,我使用 URL 作为文档的 id。

我发现的问题是,通过仅使用键作为文档 ID,我现在会在不同类型的文档之间发生冲突。所以我开始使用类型作为键的第一部分,如下所示:

 { doc._id: "rss_entry|http://www.spiegel.de/1234", [...] }
 { doc._id: "page_text|http://www.spiegel.de/1234", [...] }

现在我开始怀疑为什么我从未在任何文档中看到过这种模型类型的方法。

【问题讨论】:

标签: couchdb couchbase


【解决方案1】:

前缀是常用的。除了支持您的场景之外,前缀还允许对视图执行逻辑范围查询。在建模示例中使用了这种技术,但可能没有像您期望的那样详细描述这个概念。在http://docs.couchbase.com/couchbase-devguide-2.5/#modeling-documents 部分中,文档被键入为 beer_NNNN 和 brewery_NNNN。此外,http://docs.couchbase.com/couchbase-devguide-2.5/#using-reference-documents-for-lookups 部分更深入地介绍了这项技术。有一个名为 user::count 的计数器文档,然后每个用户都被键入为 user::NNNN。此外,示例中的文档被键入为 fb::NNNN 用于 Facebook ID,email::XXX@YYYY.com 用于用户的电子邮件地址等。

【讨论】:

  • 谢谢,我之前确实读过啤酒厂的例子,但没有意识到。所以我想知道我是否错过了一个问题。
猜你喜欢
  • 2013-12-27
  • 2017-03-01
  • 2013-12-03
  • 2018-11-26
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-02
相关资源
最近更新 更多