java - 如何根据key从MongoDb中的嵌套json中获取数据列表?

标签 java mongodb

我在 MongoDB 中有一个 JSON,集合名称为 StudentData:

"data" : {
  "students":{
      "A":{
        "roll":"11",
        "otherDetails":{
            "name":"AAA"
        }
      },
      "B":{
        "roll":"12",
        "otherDetails":{
            "name":"BBB"
        }
      },
      "C":{
        "roll":"13",
        "otherDetails":{
            "name":"CCC"
        }
      },
      "D":{
        "roll":"14",
        "otherDetails":{
            "name":"DDD"
        }
      }
  }
}

如何获取所有学生A,我尝试了以下db.StudentData.find({"data.students":"A"}),但它什么也没返回。

我正在尝试得到这个:

{
   "roll":"11",
   "otherDetails":{
   "name":"AAA"
  }
}

Java 等效查询和 Mongo 等效查询可能是什么?

最佳答案

A 是数据中的对象,但您将其作为值获取。所以,它什么也没有给你。试试这个:

db.collection.find({},
{
  "data.students.A": 1
})

关于java - 如何根据key从MongoDb中的嵌套json中获取数据列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57585140/

相关文章:

java - C中的服务器向Java中的客户端发送文件,但接收到的文件不完整

Java import com.google.common.io.Files 无法解析

mongodb - 使用 Mongoid 确定文档的大小

node.js - MongoDb和Node.js SSl/安全连接

java - 为 Spring Data 运行的每个查询设置注释

java - 简单 HelloWorld 上的 ClassNotFoundException

c# - 将 Base64 格式的图像发送到 IIS 服务器(托管基于 C#.net 的 Web 处理程序)

java - 防止调整窗口大小

javascript - 无法返回值以响应 mongoose/mongodb 和 nodejs

node.js - 我需要远程调用 mongoexport 并从 node.js 获取结果