2017-08-31 37 views
1

使用我有一個N1QL查詢像如何返回純數組中的子查詢

SELECT RAW ARRAY_AGG(list.id) 
FROM default list 
WHERE list.type="list" 
AND "*" IN list.supported 

以下對象(S):

{ 
    "type": "list", 
    "id": "*", 
    "name": "Everything", 
    "listCount": 2, 
    "supported": [ 
    "*", 
    "test" 
    ] 
} 

現在的問題是,我會總是得到一個雙陣列的結果:

[ 
    [ 
    "*", 
    "test" 
    ] 
] 

我怎麼能現在防止雙陣列結果或更好:我怎麼使用這個結果在下面的子查詢(其人方法會返回一個空數組):

SELECT * 
FROM default server 
WHERE server.type="server" AND ANY listId IN supportedLists SATISFIES 
listId in 

(SELECT RAW ARRAY_AGG(list.id) 
FROM default list 
WHERE list.type="list" 
AND "*" IN list.supported) 

END; 

其中服務器是:

{ 
    "type": "server", 
    "id": "AAABBBCCC", 
    "supportedLists": [ 
    "0", 
    "1" 
    ], 
} 

的選擇

SELECT * 
FROM default server 
WHERE server.type="server" AND ANY listId IN supportedLists SATISFIES 
listId in 

["test", "other features"] 

END; 

正常工作...所以我的問題是definetly子選擇

我想存檔的是有一個支持列表(field supportedList)的服務器列表,例如所有的lis與功能 「測試」(支持的字段)TS

回答