1
我是來自關係世界的MongoDB的新手。任何幫助將不勝感激。我的病人具有以下屬性列表:Mongodb時間序列查詢
{"id": 101,
"demographics": {"sex": "male","dob": "1/1/1984"},
"hospital_visits": [
{ "date": "1/1/2012",
"diagnosis": ["diabetes","fractured hip"]
},
{ "date": "3/1/2012",
"treatment": ["hip replacement"],
"outcome": "normal discharge"
},
{ "date": "5/1/2012",
"diagnosis": ["hip infection"],
"outcome": "inpatient admission"
}
]
},
{"id": 102,
"hospital_visits": [
{ "date": "1/1/2013",
"diagnosis": ["fractured hip"]
},
{ "date": "3/1/2013",
"treatment": ["hip replacement"],
"outcome": "normal discharge"
}
]
}
現在,如果我想了解的患者,在某些時候有一個「髖骨骨折」的診斷(數量在醫院探訪的一個),在隨後的日期(不在同一醫院就診)進行了「髖關節置換」治療,並且在「髖關節置換」治療日起3個月內有「住院入院」的結果,我如何框架我的MongoDB查詢?按照這個邏輯,在給定的示例數據中,顯然患者101是一個命中,而患者102不是,因此計數是1.但是,我該如何在MongoDB中制定此查詢?有任何想法嗎?如果我改變文檔結構來解決這個問題,會更容易嗎?
非常感謝!
儘管可能使用MongoDB Aggregation框架,但它當然不是專爲它設計的(特別是關於「從一天開始的3個月」的部分)。 – WiredPrairie 2013-05-01 00:10:36
這正是聚合框架的設計目的。 OP的問題 - 你真的將日期存儲爲這種MM/DD/YYYY格式的字符串嗎?我不認爲你考慮將它實際存儲爲日期或ISODate類型? – 2013-05-06 07:38:21
如果治療是在診斷的同一天完成的,它會在同一日期的子文檔中列出,還是將它作爲單獨的子文檔列出,但列出了相同的日期? – 2013-05-06 07:52:37