我是Couchbase数据库的新手。
我已在一个存储桶中填充了10,000个文档,并且我想通过使用N1Ql删除查询使用文档ID模式删除这些文档。例如,密钥类似于:ao.sl3:eid:89049032000001000000000016677381。所以我想使用模式,例如':ao.sl3:eid%'来删除所有文档。
我想使用CouchBase Web UI查询编辑器删除文档。
谢谢
答案 0 :(得分:2)
您将需要primary index来执行此操作,但是您可以简单地use the LIKE
operator:
DELETE
FROM mybucketname
WHERE META().id LIKE ':ao.sl3:eid%'
有些事情要记住:
DELETE
之后删除该主索引。答案 1 :(得分:0)
已经有几年了,但我只是在跟进任何未解决的问题,因为 Matthew Groves 表示您可以使用 Couchbase Eventing 服务。
执行您想要的功能的函数非常简单,只有 4 行(如果算上评论,则为 8 行)。
// example the keys are like :ao.sl3:eid:89049032000001000000000016677381
// delete any key starting with a pattern like ":ao.sl3:eid:"
// make a binding of a bucket alias called src_bkt in read+write mode
// then deploy with a Feed Boundary of Everything.
function OnUpdate(doc, meta) {
if (!meta.id.startsWith(':ao.sl3:eid:')) return;
delete src_bkt[meta.id];
}
有关 Couchbase Eventing 的更多信息,请参阅 eventing-overview 和 eventing-examples