bry*_*yan 6 couchdb cloudant pouchdb couchdb-mango couchdb-2.0
我有以下文件:
{ _id: "123", type: "project", worksite_id: "worksite_1" }
{ _id: "456", type: "document", project_id: "123" }
{ _id: "789", type: "signature", document_id: "456" }
Run Code Online (Sandbox Code Playgroud)
我的目标是运行查询,并且不可避免地对所有与之连接的文档进行过滤复制worksite_id: worksite_1.
例:
如果我想要来自该工地的所有内容,我应该能够检索所有这些文档.
通常我会添加一个worksite_id给我type:document和type:signature.但是,由于各种原因,工地可能会在项目中发生变化.
我想知道是否有办法创建索引或做一些我不想要显示这些相似之处的东西.
这感觉就像它在正确的道路上,但解释将文档放在其他文档中,我只是想让它们分开.
任何帮助,将不胜感激.
地图函数一次仅考虑一个文档,因此除非该文档知道其他文档,否则您无法将它们链接在一起。您的结构意味着 SQL 术语中的三表连接。
根据您的结构,您所能期望的最好的结果就是两个请求的解决方案。您可以创建仅显示签名文档的视图:
function (doc) {
if (doc && doc.type && doc.type === "signature" && doc.document_id) {
emit(doc.document_id, {_id: doc.document_id})
}
}
Run Code Online (Sandbox Code Playgroud)
并使用相同的技术,将项目链接到文档 - 但您无法将所有三个链接起来。