ArangoDBとAQLはかなり新しく、ネストされた配列の値に関連しています。これができる方法があるかどうかわかりません(または質問が効率的に書かれている場合でも)AQLネストされた配列の値
これを短くするために、私は2つのコレクションを持っています。 1つは「医師」、もう1つは「適応症」です。私の患者が相談のために医者を見るたびに、その症状のリストがIndicationsコレクションに記録されます。しかし、以前の診断は別の医師によって行われた可能性があります。この場合、私のAQLの構文は次のようになります。
FOR p in Patients
FILTER p._key=="cad010117"
RETURN {
"name" : CONCAT(p.pfname, " ", p.plastname),
"consultations" : (
FOR i in Indications
FILTER i.pat_id == p._key
FOR d in Physicians
FILTER i.ind_consul_doc == d._key
RETURN {
"Doctor" : CONCAT(d.dtitle, " ", d.dfirstname, " ", d.dlastname),
"Consult Date" : i.ind_consul_dt,
"Symptoms" : i.symptoms[*],
"Past Diagnoses" : i.diagnosis[* RETURN {
"Condition" : CURRENT.diag,
"Diagnosed on" : CURRENT.diag_dt,
"Diagnosed by" : CURRENT.diag_doc
}
]
}
)
マイ対応する結果:
[
{
"name": "Alfred Jeffries",
"consultations": [
{
"Doctor": "Dr Anthony Garcia",
"Consult Date": "22nd Jun 2016",
"Symptoms": [
{
"type": "hyperpyrexia",
"details": "Temperature: 101",
"duration": "3d"
},
{
"type": "anxiety",
"details": "Severe",
"duration": "1w"
},
{
"type": "mania",
"details": "Moderate",
"duration": "1w"
},
{
"type": "diaphoresis",
"details": "Increased sweating during the day only",
"duration": "3d"
}
],
"Past Diagnoses": [
{
"Condition": "Bipolar Disorder",
"Diagnosed on": "6th Jul 2016",
"Diagnosed by": "dc666555"
}
]
}
]
私の質問で、過去の確定診断配列が返さのために、値はdiag_docフィールド、私の "Indications"コレクションの診断配列の内部は、診断を行った医師の "Physicians"コレクションの_key値に対応しています。 AQUを使用してdiag_docの完全な詳細を返す最良の方法は何ですか? ありがとうございます。
PS:私はあなたがPhysicians
コレクションからデータを取得するために、サブクエリを使用することができますArangoDB 3.1.12
おかげトンを!チャームのように働いた:) –