2016-06-22 73 views
4

我試圖利用Contentful在我的當前項目,我想了解如何根據在鏈接對象的字段來過濾我的查詢結果。過濾Contentful查詢的鏈接對象

我的頂層對象包含定義爲這樣的鏈接:

"name": "Service_Description", 
    "fields": [ 
{ 
    "name": "Header", 
    "id": "header", 
    "type": "Link", 
    "linkType": "Entry", 
    "required": true, 
    "validations": [ 
    { 
     "linkContentType": [ 
     "offerGeneral" 
     ] 
    } 
    ], 
    "localized": false, 
    "disabled": false, 
    "omitted": false 
}, 

這個「標題」字段鏈接到具有該定義另一種內容類型:

"fields": [ 
{ 
    "name": "General", 
    "id": "general", 
    "type": "Link", 
    "linkType": "Entry", 
    "required": true, 
    "validations": [ 
    { 
     "linkContentType": [ 
     "genericGeneral" 
     ] 
    } 
    ], 
    "localized": false, 
    "disabled": false, 
    "omitted": false 
}, 

然後鏈接到最低級別:

"fields": [{ 
    "name": "TagList", 
    "id": "tagList", 
    "type": "Array", 
    "items": { 
    "type": "Link", 
    "linkType": "Entry", 
    "validations": [ 
     { 
     "linkContentType": [ 
      "tag" 
     ] 
     } 
    ] 
    }, 
    "validations": [] 
} 

其中tagList是這段內容可能具有的標記數組。

我希望能夠運行從頂級對象,說讓我在哪裏,它包含的標籤所提供的列表中的代碼,這些「SERVICE_DESCRIPTION」內容項X號的查詢。

在郵遞員,我一直在運行此:

https://cdn.contentful.com/spaces/{SPACE_ID}/entries?access_token={ACCESS_TOKEN}&content_type=serviceDescription&include=3 

我想添加一個過濾器像這樣:

fields.header.fields.general.fields.tagList.sys.id%5Bin%5D={TAG_SYS_ID} 

這顯然是不正確的,但我已經一直在努力如何走這種關係來實現我的目標。仔細閱讀這些文檔,這似乎與包含有關,但我不確定如何解決問題。

如何實現我的目標,或者如果這是可能的任何方向?

回答

2

不幸的是你正在請求Contentful目前不可能。

我們正面臨着一個非常類似的問題與嵌套/引用的內容類型和支持,說這是不可能的。

我們結束了寫,使我們能夠做自己想做一個非常複雜的系統。實質上是對參考內容進行全文搜索,然後查詢所有父母的條目。然後我們通過迭代父母來找到關係來匹配關係。

對不起,它不會更容易。希望開發者能夠改進這種併發症。我們已經提請他們注意。