我以下面的格式將JSON數據存儲在ArangoDB集合中。使用AQL迭代查詢ArangoDB
{
"data": {
"1": [ {"db_name": "DSP"}, {"rel": "2"} ],
"2": [ {"rel_name": "DataSource"}, {"tuple": "201"}, {"tuple": "202"}, {"tuple": "203"} ],
"201": [ {"src_id": "Pos201510070"}, {"src_name": "Postgres"}, {"password": "root"}, {"host": "localhost"}, {"created_date": "20151007"}, {"user_name": "postgres"}, {"src_type": "Structured"}, {"db_name": "postgres"}, {"port": "None"} ],
"202": [ {"src_id": "pos201510060"}, {"src_name": "Postgres"},{"password": "root"}, {"host": "localhost"}, {"created_date": "20151006"}, {"user_name": "postgres"}, {"src_type": "Structured"}, {"db_name": "DSP"}, {"port": "5432"} ],
"203": [ {"src_id": "pos201510060"}, {"src_name": "Postgres"}, {"password": "root"}, {"host": "localhost"}, {"created_date": "20151006"}, {"user_name": "postgres"},{"src_type": "Structured"},{"db_name": "maindb"},{"port": "5432"} ]
}
}
我是新來的ArangoDB。我不知道存儲和查詢來自ArangoDB的數據。在我的數據中沒有任何預定義的密鑰,數據會隨着時間填充。我的數據就像一個半結構化的數據,它沒有任何固定數量的屬性,並且由於其迭代列表結構而有點複雜。
首先,任何人都可以建議我在ArangoDB中存儲上述格式的最佳方式。第二,我想通過以下方式查詢這些數據:通過指定任何鍵(事先不知道,通過在運行時指定它),或指定鍵和值對的組合,例如Key1 == value1
或組合使用AND或OR邏輯運算符如Key1 == value1 AND Key2 == value2 OR Key3== value3
。
那麼,我們如何迭代上述數據呢?
我已經試過查詢「爲了在Collecton_name中返回u」這就像使用select * from table_name查詢關係數據一樣; –
實際上需要什麼樣的查詢結果有點不清楚。例如,要迭代每個文檔中的所有屬性,可以在AQL中使用嵌套的FOR循環,如下所示:FOR DOC IN集合LET attributes = ATTRIBUTES(doc.data)FOR屬性IN屬性RETURN {key:attribute,value:doc .data [屬性]}' – stj
我想只訪問那些其中db_name ==「main_db」或我想要列表中的屬性名稱對應的值,如src_type等.. –