在 CouchDB 和 Couchbase 的引用 Material 中,常见的指导是将文档的类型
存储为实际文档中的参数。
我有一个数据库,其中有不同的文档,通过 URL 记录某些行为。所以很自然地,我使用 URL 作为文档的 id。
我发现的问题是,通过仅使用 key 作为文档 ID,我现在会在不同类型的文档之间发生冲突。所以我开始使用类型作为 key 的第一部分,如下所示:
{ doc._id: "rss_entry|http://www.spiegel.de/1234", [...] }
{ doc._id: "page_text|http://www.spiegel.de/1234", [...] }
现在我开始想知道为什么我从未在任何文档中看到这种模型类型方法。
最佳答案
前缀很常用。除了支持像您这样的场景之外,前缀还允许对 View 执行逻辑范围查询。建模示例中使用了此技术,但该概念的描述可能没有您期望的那么详细。在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。此外,示例中的一些文档的 Facebook ID 的键值为 fb::NNNN,email::[email protected]用户的电子邮件地址等。
关于CouchDB 和 Couchbase 文档 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23942914/