Я сохранил данные JSON в коллекции 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
.
Итак, как мы можем перебирать приведенные выше данные?
FOR doc IN collection LET attributes = ATTRIBUTES(doc.data) FOR attribute IN attributes RETURN { key: attribute, value: doc.data[attribute] }
- person stj   schedule 27.10.2015