关于Couchbase键与索引的疑问及键生成策略咨询
关于Couchbase键生成策略是否自动创建特定字段的疑问
我已将如下数据集导入Couchbase:
{ "CLUSTER": "M1M", "CLUSTER_NAME": "MARTIN MARIETTA", "PRIMARY": "", "SET_NUM": "10000163", "SHORTENED_NAME": "MARTIN MARIETTA MATERIALS", "TYPE": "SET", "_class": "com.company.aad.xref.model.ClusterCodeXref" }我需要指定键生成策略(key-generation strategy),因此将该策略设置为最终期望的索引样式:
%SET_NUM%::%TYPE%。现咨询:键生成操作是否会自动创建一个名为I...的字段?
回答
不会的,当你在Couchbase中使用自定义键生成策略(比如你设置的%SET_NUM%::%TYPE%)时,这个操作只会生成文档的主键(Document Key),并不会自动创建任何额外的字段(包括你提到的以"I..."开头的字段)。
简单来说,键生成策略只负责定义文档在Couchbase存储时的唯一标识——也就是你执行SELECT META().id FROM your-bucket-name能查到的那个值,它完全不会修改文档本身的内容结构。你的文档里只会保留你最初导入的那些字段,除非你手动或者通过其他业务逻辑去主动添加新字段。
举个实际的例子,按照你的策略,这个文档的主键会变成10000163::SET,但文档内容还是你最开始导入的那串JSON,不会凭空多出来任何新字段。
内容的提问来源于stack exchange,提问作者aatuc210
相关产品推荐
相关产品推荐

