假设我使用以下结构和命令在 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() }
],
}
]
}
)
首先,请注意我在文档中多次出现“Readings”。
我想以这样的方式查询整个文档中的“Readings”,这样我就不必使用对嵌入文档的引用来限定它。我怎样才能实现这个目标?我们可以假设“阅读”的结构是一致的。
我知道我也可以努力重新构建文档,但在这里我没有这样做的自由。
最佳答案
目前这是不可能的,因为它需要 MongoDB 理解字段名称通配符。它必须允许像 {'*.Readings.Temperature': 99}
这样的东西,但在撰写本文时它还没有允许。
关于mongodb - 在没有鉴别器的情况下查询 MongoDB 中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9782651/