2

以下是 couchbase 中的示例文档之一。

{ 
  "name":"abc",
  "friends":["a","b","c"],
  "bestfriends":["x","y","z"]
}

我想根据“朋友”和“最好的朋友”的特定条件显示“姓名”。

n1ql 查询

select s.name from userdetails s
unnest s.friends as f
unnest s.bestfriends as bf
where f="a" or bf="a"

如果数组(friends、bestfriends)都不是空数组,则上述查询工作正常。

但是,即使数组中的任何一个是空数组(即“bestfriends”:[]),结果也是空的。如何克服这一点?

4

1 回答 1

1

在这两种情况下都使用 LEFT OUTER UNNEST。

于 2016-05-27T14:11:42.617 回答