【问题标题】:MongoDB querying nested documentsMongoDB查询嵌套文档
【发布时间】:2021-02-25 17:11:31
【问题描述】:

我有这样的记录:

{
    "_id" : ObjectId("5f99cede36fd08653a3d4e92"),
    "accessions" : {
        "sample_accessions" : {
            "5f99ce9636fd08653a3d4e86" : {
                "biosampleAccession" : "SAMEA7494329",
                "sraAccession" : "ERS5250977",
                "submissionAccession" : "ERA3032827",
                "status" : "accepted"
            },
            "5f99ce9636fd08653a3d4e87" : {
                "biosampleAccession" : "SAMEA7494330",
                "sraAccession" : "ERS5250978",
                "submissionAccession" : "ERA3032827",
                "status" : "accepted"
            }
         }
     }
}

如何通过sample_accessions中的mongo id查询?我认为这应该有效,但事实并非如此。我该怎么办?

db.getCollection('collection').find({"accessions.sample_accessions":"5f99ce9636fd08653a3d4e86"})

【问题讨论】:

    标签: mongodb nested nested-documents


    【解决方案1】:

    id为key,判断key是否存在使用$exists,使用project自定义response获取特定对象

    db.getCollection('collection').find(
      {
        "accessions.sample_accessions.5f99ce9636fd08653a3d4e86": {
          $exists: true
        }
      },
      { sample_doc: "$accessions.sample_accessions.5f99ce9636fd08653a3d4e86" }
    )
    

    Playground

    【讨论】:

      猜你喜欢
      • 2016-08-16
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2017-04-10
      • 1970-01-01
      相关资源
      最近更新 更多