如何在 N1QL 和 Couchbase 中创建索引和使用连接
how to create index and use join in N1QL and Couchbase
我在 相同的默认 Bucket
中有如下三个 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.
之前都有 wright
这种类型我都有json。
我已尝试通过参考此来源
来加入如下查询
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[ 的错误=17=]
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"
即使我得到 Index 错误。
键空间默认值上没有与您的查询匹配的可用索引。
尝试添加主索引。
CREATE PRIMARY INDEX ON default;
将您的密钥空间名称替换为 default。
我在 相同的默认 Bucket
中有如下三个 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.
之前都有 wright这种类型我都有json。
我已尝试通过参考此来源
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[ 的错误=17=]
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"
即使我得到 Index 错误。
键空间默认值上没有与您的查询匹配的可用索引。
尝试添加主索引。
CREATE PRIMARY INDEX ON default;
将您的密钥空间名称替换为 default。