【发布时间】:2019-07-24 14:00:41
【问题描述】:
我是 Couchbase DB 服务器的新手,我试图通过一个查询来实现我对三个查询所做的事情,因为这不是那么有效。
我在同一个存储桶中有三种不同的文档类型(x,y,z);都有一个相似的键:'district' 像这样:
文档 x:
{
"type": "x",
"district": "Some district"
}
文档y:
{
"type": "y",
"district": "Some district"
}
文档z:
{
"type": "z",
"district": "Some district"
}
我目前在 PHP 中实现了类似以下的伪代码:
$totalDistrictInX = "SELECT COUNT(x) FROM bucket WHERE type = 'x' AND district = 'Maboro';
$totalDistrictInY = "SELECT COUNT(x) FROM bucket WHERE type = 'y' AND district = 'Maboro';
$totalDistrictInZ = "SELECT COUNT(x) FROM bucket WHERE type = 'z' AND district = 'Maboro';
$totalCountOfMaboro = $totalDistrictInX + $totalDistrictInY + $totalDistrictInZ;
我无法使用 JOIN 查询,因为当前使用的 Couchbase 服务器低于 5.50 which only supports joining documents between document key to document field and not between document fields。
有没有办法通过一个 n1ql 查询来实现这一点?任何帮助将不胜感激。
【问题讨论】: