我在相同的默认存储桶中有三个如下所示的json
如何加入这三个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",
}
这里key是“name|_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;
我得到了想要的结果。
但是当我删除 USE KEYS "Company|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"
即使我收到索引错误。
默认键空间上没有与您的查询匹配的可用索引。
尝试添加主索引。
CREATE PRIMARY INDEX ON default;
将您的 key 空间名称替换为默认。
我是一名优秀的程序员,十分优秀!