ArangoDB AQL嵌套查詢?cè)鯓痈?jiǎn)潔

小樊
82
2024-10-29 18:36:45

在ArangoDB中,AQL(ArangoDB Query Language)是一種用于查詢和操作圖數(shù)據(jù)的聲明式語(yǔ)言。要在AQL中使用嵌套查詢,可以使用子查詢。子查詢可以使用FOR語(yǔ)句來(lái)實(shí)現(xiàn)。為了使嵌套查詢更簡(jiǎn)潔,可以將子查詢的結(jié)果存儲(chǔ)在變量中,然后在外部查詢中使用這些變量。

以下是一個(gè)示例,展示了如何在ArangoDB AQL中使用嵌套查詢:

FOR vertex IN vertices
    LET relatedVertices = (
        FOR neighbor IN OUTBOUND vertex._key
            RETURN neighbor
    )
    RETURN {
        vertex: vertex,
        relatedVertices: relatedVertices
    }

在這個(gè)示例中,我們首先遍歷vertices集合中的每個(gè)頂點(diǎn)。然后,我們使用子查詢來(lái)查找每個(gè)頂點(diǎn)的鄰居(即出邊連接的頂點(diǎn))。子查詢的結(jié)果存儲(chǔ)在relatedVertices變量中。最后,我們返回一個(gè)包含原始頂點(diǎn)和相關(guān)鄰居的對(duì)象。

這個(gè)示例展示了如何使嵌套查詢更簡(jiǎn)潔,通過(guò)將子查詢的結(jié)果存儲(chǔ)在變量中,并在外部查詢中使用這些變量。

0