使用 N1QL 从 Couchbase 中删除所有内容为空的文档

Delete all documents with null content from a Couchbase using N1QL

我在我的 couchbase 服务器上执行了一个小错误的查询,这是执行的查询:

INSERT INTO `Writer_DB` (KEY _k, VALUE _v)
SELECT META().id _k, _v
from `Sam_DB` v

我使用了 v 而不是 _v 所以执行了操作,但结果是我有 Id 但我没有文档的内容,所以当我通过它的 Id 搜索文档时,显示的内容是空。

我再次 运行 查询,但由于 ID 重复而检索到错误,因此最好删除所有内容为空的文档或 "fill" 按 ID 删除文档内容。问题是我是 couchbase 和 NoSql 的新手。

DELETE FROM `Writer_DB` AS d WHERE d IS NULL;

以上查询需要主索引,为了加快查询速度可以使用以下索引:

create index ix1 on default(self) WHERE self IS NULL;
DELETE FROM `Writer_DB` AS d WHERE d IS NULL;

更新文档

UPDATE `Writer_DB` SET id = META().id WHERE d IS NULL;

DELETE FROM `Write_DB` USE KEYS (SELECT RAW META().id from `Sam_DB`);