2016-07-14 66 views
1

Couchbase - 版本4.1.0-5005Couchbase加入失敗返回JSON

查詢工作臺開發回顧 - 1.0.2版

我在工作的過程,以確定是否存在一個網格模型。我從構建N1QL聲明部分(下面列出)開始。此N1QL語句確定網格與模型的關聯。在生成此N1QL語句之前,我運行了單個語句以確保呈現的模型ID存在於兩種文檔類型中。

select a.model_id 
    from inputs as a 
     join inputs as b on keys a.model_id 
where a.type = 'Model' 
    and b.type = 'Grid' 
    and a.model_id = 100 

我通過Couchbase啤酒樣品(如下所列)所提供的示例仿照N1QL聲明。另外,我修改了Couchbase示例以反映上述情況。

select br.name brewery, 
     b.name beer, 
     b.style style 
    from `beer-sample` b 
     join `beer-sample` br on keys b.brewery_id 
where b.type = 'beer' 
    and br.type = 'brewery' 
    and b.name = '21A IPA' 

當我執行Couchbase提供的示例時,我收到一個JSON文檔。當我執行我的N1QL語句時,它不返回JSON文檔。我驗證了兩種類型都至少包含一個指定模型ID的JSON文檔。存儲區只包含主索引。沒有其他索引存在。

我很感激任何解決此問題的建議。

TIA

回答

2

主要的網格文件的密鑰(外部ID)必須與您的模型文檔的MODEL_ID。

N1QL語法未加入公共字段。它正在加入一個從左手術語到右手術語主鍵的表達。

+0

謝謝你的回答。看起來我無法根據存儲桶設置執行連接。這兩個表的主鍵是不同的。 –

+0

好的。希望您可以使用主鍵進行設置,特別是如果您使用1:N關係。 – geraldss