1

平台:Couchbase Server 4.0 beta,Java 客户端 2.1.3

我正在寻找类似于 SQL JOIN 的东西。例如,我有表单的文档,其中 field2 嵌入在文档中,而不是像在关系数据库中那样在单独的表中:

    {field1:" ..", field2:[{key:1, ...},{key:3, ...},..],...}.

我怎样才能实现这样的目标:

    select * from bucket where field2.key=3;

以及如何索引键,一个假设的例子:

    create index idx_key on bucket(field2.key);
4

1 回答 1

1

如果你做了这样的事情怎么办:

SELECT 
    *
FROM `your-bucket-here` AS fields
WHERE 
    ANY field IN fields.field2 SATISFIES field.key = 3 END

这样,只要一个嵌套数组项包含您的值,它就会被返回。

在创建索引方面,您是要创建二级索引还是主索引?你总是可以做这样的事情:

CREATE PRIMARY INDEX index_name ON `your-bucket-name-here` USING GSI;
CREATE INDEX index_name ON `your-bucket-name-here` USING GSI;

让我知道这是怎么回事!

最好的,

于 2015-07-09T16:34:10.627 回答