在Couchbase视图中加入文档

时间:2016-03-15 17:50:25

标签: couchbase

Couchbase / NOSQL上的Noob问题:

我有两种不同类型的文档,它们之间有一个共同的字段,我想使用基于该共同字段的视图加入它们:

文件1 - 密钥:Page_Object1

{
  "URL": "/someurl/",
  "title": "some title"  
}

文档2密钥:Zone_Object1

{
  "URL": "/someurl/",
  "zone": "some Ad zone"
  "
}

有人可以帮我加入这2个文件并根据" url"返回单个已加入文档(使用视图?)字段,这两个文件都存在于同一个桶中。

2 个答案:

答案 0 :(得分:2)

实际上,我猜发布的观看代码不起作用。

正确的是:

if (doc.title) {
   emit (doc.url, doc.title)
} else if (doc.zone) {
   emit (doc.url, doc.zone)
}

这是真的,

  

如果您有N1QL,您将获得正确的连接机制。

答案 1 :(得分:0)

根据Couchbase文档http://docs.couchbase.com/admin/admin/Views/views-querySample.html,严格意义上说这是不可能的。

但您可以像

一样定义视图
if (doc.type == "page") {
   emit (doc.url, doc.title)
} else if (doc.type == "zone") {
   emit (doc.url, doc.zone)
}

现在,在查询给定网址的此视图时,您将获得这两种信息。

如果您有N1QL,您将获得正确的连接机制。