2016-12-01 7 views
0

У меня есть три JSON, как показано ниже в же ковшом по умолчаниюкак создать индекс и использовать присоединиться N1QL и Couchbase

Как я могу присоединиться к этому три ?? JSON

первой

"Country|1":{ 
    "_id": 1, 
    "_type": "Country", 
    "currency": "Afghani", 
    "iso2": "AF", 
    "name": "Afghanistan" 
} 

второго

"Company|a1091aa0-b548-11e6-957e-139be07f46df": 
    { 
    "_id": "a1091aa0-b548-11e6-957e-139be07f46df", 
    "_type": "Company", 
    "companyTypes": [ 
    1 
    ], 
    "country": "Country|1", 
} 

Третий

"Campaign|1001":{ 
    "_id": 1001, 
    "_type": "Campaign", 
    "banners": [], 
    "carriers": [ 
    "Telstra" 
    ], 
    "country": 1, 
    "created": "2016-03-08T18:30:00.000Z", 

} 

здесь ключ является "имя | _id", который я Райт перед каждым JSON.

У меня этот тип все json. Я пытаюсь присоединиться запрос, как показано ниже со ссылкой на этот источник Couchbase N1QL join query

SELECT d1.*,d2.* FROM 
default d1 USE KEYS "Company|a1091aa0-b548-11e6-957e-139be07f46df" 
JOIN default d2 ON KEYS d1.country; 

я получаю результат желания.

Но когда я удалить использовать клавиши "Компания | a1091aa0-b548-11e6-957e-139be07f46df" затем запустить ниже запроса я получаю сообщение об ошибке для INDEX

SELECT d1.*,d2.* 
FROM default d1 
JOIN default d2 ON KEYS d1.country; 

Также я пытаюсь создать индекс, как ниже

CREATE INDEX campaign_user_co ON `default` (TOSTRING(country)) 
where _type="Company" 

Даже я получаю индекс ошибки.

По умолчанию для ключей по умолчанию не указан индекс.

+0

Что такое ошибка индекса? – geraldss

+0

У вас нет указаний по доступным клавишам Доступно, что соответствует вашему запросу Я получаю эту ошибку –

ответ

2

Попробуйте добавить основной индекс.

CREATE PRIMARY INDEX ON default; 

Заменитель ваше имя для пространство ключей по умолчанию.

+0

почему мне нужен индекс? –

+0

Вам нужен первичный индекс или вторичный индекс. Couchbase - это распределенная база данных, поэтому данные не все в одном месте. Единственный способ запроса по кластеру - с индексом. – geraldss