假设我使用以下结构和命令在MongoDB集合中创建文档:
db.foo.insert(
{
"PatientCore" :
{ "Name" : "John Doe", "Age" : 30 },
"OnArrivalData" :
{
"Readings" :
{ "Temperature" : 100.1, "HBP" : 140, "LBP" : 88, "TimeStamp" : new Date() },
"Attending Doctor" : "Dr. Samuel John"
},
"TreatmentStage" :
[
{
"StageName" : "Surgery",
"Readings" :
[
{ "Temperature" : 100.1, "HBP" : 130, "LBP" : 70, "TimeStamp" : new Date() },
{ "Temperature" : 99.1, "HBP" : 120, "LBP" : 70, "TimeStamp" : new Date()
],
},
{
"StageName" : "ICU",
"Readings" :
[
{ "Temperature" : 99, "HBP" : 135, "LBP" : 72, "TimeStamp" : new Date() },
{ "Temperature" : 98.6, "HBP" : 141, "LBP" : 80, "TimeStamp" : new Date() }
],
}
]
}
)
首先,请注意我在文档中多次出现“读物”。
我希望在文档中查询“读取”,以便我不必使用对嵌入文档的引用来限定它。我怎样才能做到这一点?我们可以假设“读物”的结构是一致的。
我知道我也可以努力重新构建文档,但在这里我没有这样的自由。
答案 0 :(得分:2)
目前这是不可能的,因为它需要MongoDB来理解字段名称通配符。它必须允许{'*.Readings.Temperature': 99}
之类的内容,而这些内容在编写时并不存在。