在Couchbase视图中连接文档
Couchbase/NOSQL上的Noob问题: 我有两种不同类型的文档,它们之间有一个公共字段,我想使用基于该公共字段的视图来连接它们: 文件1-关键字:第1页在Couchbase视图中连接文档,couchbase,Couchbase,Couchbase/NOSQL上的Noob问题: 我有两种不同类型的文档,它们之间有一个公共字段,我想使用基于该公共字段的视图来连接它们: 文件1-关键字:第1页 { "URL": "/someurl/", "title": "some title" } 文件2键:区域_对象1 { "URL": "/someurl/", "zone": "some Ad zone" " } 有人能帮我加入这两个文档并返回一个加入的文档(使用view?)吗?基于“url”字段,这两个文
{
"URL": "/someurl/",
"title": "some title"
}
文件2键:区域_对象1
{
"URL": "/someurl/",
"zone": "some Ad zone"
"
}
有人能帮我加入这两个文档并返回一个加入的文档(使用view?)吗?基于“url”字段,这两个文档位于同一个桶中。根据Couchbase文档,严格意义上这是不可能的 但是您可以像这样定义视图
if (doc.type == "page") {
emit (doc.url, doc.title)
} else if (doc.type == "zone") {
emit (doc.url, doc.zone)
}
现在,当查询给定url的此视图时,您将获得这两个信息
如果您有可用的N1QL,您将获得适当的连接机制。根据Couchbase文档,严格意义上讲,这是不可能的 但是您可以像这样定义视图
if (doc.type == "page") {
emit (doc.url, doc.title)
} else if (doc.type == "zone") {
emit (doc.url, doc.zone)
}
现在,当查询给定url的此视图时,您将获得这两个信息
如果你有可用的N1QL,你会得到一个合适的连接机制。实际上,我想发布的视图代码不会起作用 正确的做法是:
if (doc.title) {
emit (doc.url, doc.title)
} else if (doc.zone) {
emit (doc.url, doc.zone)
}
这是真的
如果您有可用的N1QL,您将获得适当的连接机制
事实上,我猜发布的视图代码将不起作用 正确的做法是:
if (doc.title) {
emit (doc.url, doc.title)
} else if (doc.zone) {
emit (doc.url, doc.zone)
}
这是真的
如果您有可用的N1QL,您将获得适当的连接机制