我们在couchbase中有以下文件:
Doc1 :
{
property1 : "someval"
name : "DOC_OF_TYPE1"
}
Doc2 :
{
property1 : "someval2"
name : "DOC_OF_TYPE1"
}
Doc3 :
{
property1 : "someval2"
name : "DOC_OF_TYPE2"
}
有没有办法查看" DOC_OF_TYPE1"的文件?只要 ?有没有办法从couchbase中删除该类型的所有文档?
答案 0 :(得分:1)
从Couchbase Server 4.1开始,通过使用N1QL查询和DML(数据操作语言)可以轻松实现这一点。
首先使用N1QL为您的数据创建主索引,这可以通过Couchbase SDK,Query workbench(集成在即将推出的Couchbase 4.5版本中)或位于Couchbase bin目录中的CBQ tool来完成。 (linux上的/ opt / couchbase / bin,OSX上的.app文件和Windows上的安装目录中)。
以下查询在名为' mybucket'的存储桶上创建主索引,这允许您在存储桶上执行任何类型的N1QL查询:
CREATE PRIMARY INDEX ON `mybucket`;
出于性能和生产目的,您应该创建一个二级索引:
CREATE INDEX 'document_name' ON `mybucket`(name);
这会在每个文档的名称'上创建一个索引。领域。您现在可以通过其名称字段有效地选择文档(这仅适用于主索引,但速度较慢):
SELECT *, meta().id FROM `mybucket` WHERE name = 'DOC_OF_TYPE1';
或根据名称字段删除它们
DELETE FROM `mybucket` WHERE name = 'DOC_OF_TYPE2';
中找到有关N1QL的更多信息