使用 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`);
我在我的 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`);