mongodb - 在没有鉴别器的情况下查询 MongoDB 中的文档

标签 mongodb nosql

假设我使用以下结构和命令在 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} 这样的东西,但在撰写本文时它还没有允许。

功能请求在这里https://jira.mongodb.org/browse/SERVER-267

关于mongodb - 在没有鉴别器的情况下查询 MongoDB 中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9782651/

相关文章:

python - 与MongoDB结合使用Dataclass中的 '_id'应该如何处理?

mongodb - 从MongoDB到ElasticSearch的地理位置

java - 使用 application.yml 中的属性从 spring data mongodb 注入(inject) @Document 中的集合名称

mongodb - remove 需要在 src/mongo/shell/collection.js 查询

mongodb - MongoDB中MapReduce的优化问题

c# - 首先使用实体​​框架代码与 nosql 数据库

cassandra - 为从 CSV 文件导入的每一行添加 UUID

node.js - 使用 Mongoose 从文档中删除数组元素

redis - Redis 列表/集合中的唯一值

cassandra - Apache Cassandra 与 Datastax Cassandra