Если у меня есть документы в 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.