我是来自关系世界的 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 中制定这个查询呢?有任何想法吗?如果我改变文档结构来解决这个问题会更容易吗?
非常感谢!