【发布时间】:2010-07-24 08:44:15
【问题描述】:
如何根据字段而不是 ID 从 CouchDB 中检索文档?
问题是,我系统中的文档应该有数字 ID,所以我在保存的文档中添加了一个名为 doc_id 的字段。原生 CouchDB id 对我来说太长了。
例如,我如何检索 doc_id = 10 的文档?
【问题讨论】:
标签: nosql couchdb couchdbkit
如何根据字段而不是 ID 从 CouchDB 中检索文档?
问题是,我系统中的文档应该有数字 ID,所以我在保存的文档中添加了一个名为 doc_id 的字段。原生 CouchDB id 对我来说太长了。
例如,我如何检索 doc_id = 10 的文档?
【问题讨论】:
标签: nosql couchdb couchdbkit
要检索带有doc_id=10 的文档,您需要创建一个以doc_id 为键的视图。公平地说,您不能强制 doc_id 的唯一性。
您仍然可以使用 CouchDB 的 _id 字段,而不是使用您的 doc_id。 Iirc,您不必将其留给 CouchDB 来为 _id 分配值。如果您不喜欢 CouchDB 用于 _id 字段的 UUID,您可以使用您指定的 _id 创建一个文档。
你需要小心,尤其是。在分布式设置中。如果您最终得到具有相同_id 的不同文档(在不同节点上),CouchDB 可能会认为它们是同一文档的不同版本。
【讨论】:
_id的文档是同一文档的不同版本。