Couchbase N1QL选择键以查询结果

问题描述

我正在尝试获取具有特定字段重复值的所有条目的文档密钥。

我有查询来查找重复项:

StrategyXYZ

,并且需要获取每个结果的Meta()。id。 我可以在一个查询中做到吗?

解决方法

使用ARRAY_AGG(META()。id)

SELECT d.somefield,cnt,docids
FROM mybucket AS d
WHERE d.somefield IS NOT NULL
GROUP BY d.somefield
LETTING cnt = COUNT(1),docids = ARRAY_AGG(META(d).id)
HAVING cnt > 1;

OR

SELECT d.somefield,ARRAY_LENGTH(docids) AS cnt,docids
FROM mybucket AS d
WHERE d.somefield IS NOT NULL
GROUP BY d.somefield
LETTING docids = ARRAY_AGG(META(d).id)
HAVING ARRAY_LENGTH(docids) > 1;