如果我在Couchbase中有全部具有属性foo
的文档,该属性是对象(所有条形)的对象,如下所示:
{
foo: {
bar_1: {
prop1: "hello",
prop2: "world"
},
bar_2: {
prop1: "i'm",
prop2: "confused"
}
}
}
如何使用N1QL选择 所有唯一的条形图 (只是键而不是条形图的值)?
我当前正在使用SELECT DISTINCT RAW OBJECT_NAMES(foo) FROM ...
,它返回一个数组数组,每个数组都包含每个foo
中的键列表。然后,我将其解析为C#
string[][]
并将其展平并使其与众不同。
DISTINCT
意味着在文档具有完全相同的bars
的情况下,它们不会重复,但通常并非如此。这意味着我目前在C#
中不需要执行代码,我相信在N1QL中有一种很好的方法可以完成所有工作。
答案 0 :(得分:2)
UNNEST数组
SELECT DISTINCT RAW n
FROM default d
UNNEST OBJECT_NAMES(d.foo) AS n;