我對ArangoDB相對來說比較新,並且在閱讀完文檔後試圖爲新項目實現它。ArangoDB字符串查詢列表
我有一個文件集合,並且在每個文檔中都有一個列表,其中包含了許多術語。我正在使用java驅動程序,並希望查詢其列表與我擁有的列表中的任何元素匹配的文檔。
例子:
Document 1
{
tokens["blue", "red", "green"]
}
Document 2
{
tokens["black", "red", "yellow"]
}
myArrayList:
["purple", "red"]
因爲我嘗試使用查詢ArrayList包含單詞「紅」,我應與文件1和文件2,理想的呈現,我將只與所呈現文件ID和匹配的顏色。
在半僞代碼從我所知道的AQL:
FOR document IN documents FILTER document.tokens CONTAINS myArrayList RETURN document.token.color && document._id
我通常已經全部退回文檔對象,然後就不管訪問我需要的。我可以做到這一點,如果它更容易。例如:
FOR document IN documents FILTER document.tokens CONTAINS myArrayList RETURN document
上面的這個查詢將會失敗並出現解析錯誤。圓括號不匹配,如果有子查詢,它應該包含單獨的返回語句。除此之外,如果不過濾掉不包含任何顏色的文檔。我認爲它應該看起來像這樣:'對於文檔IN文檔LET contains =(對於color IN document.tokens FILTER MATCHES(color,@myArrayList)RETURN color)FILTER LENGTH(contains)> 0 RETURN document' – stj