Java MongoDB 获取子文档的值(value)

标签 java mongodb mongodb-java

我正在尝试从子文档中获取键的值,但我似乎无法弄清楚如何使用 BasicDBObject.get() 函数,因为键嵌入了两层深。这是文档的结构

File { 
  name: file_1
    report: {
      name: report_1,
      group: RnD
    }
}

基本上一个文件有多个报告,我需要检索给定文件中所有报告的名称。我能够做到 BasicDBObject.get("name") 并且我可以获得值“file_1”,但是我该如何做这样的事情 BasicDBObject.get("report.name")?我试过了,但没有用。

最佳答案

您应该首先获取“报告”对象,然后访问其内容。您可以在下面看到示例代码。

DBCursor cur = coll.find();

for (DBObject doc : cur) {
    String fileName = (String) doc.get("name");
    System.out.println(fileName);

    DBObject report = (BasicDBObject) doc.get("report");
    String reportName = (String) report.get("name");
    System.out.println(reportName);
}

关于Java MongoDB 获取子文档的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12166573/

相关文章:

mongodb - 如何在 MongoDB 中存储 blob 数据?

java - 使用继承与接口(interface)的装饰器设计模式

mongodb - bson.D vs bson.M 用于查找查询

mysql - 可移植的MongoDB和MySQL/PostgreSQL二进制文件

mongodb - 在mongodb中调用存储函数

java - 使用 Java 驱动程序从 MongoDB 数组中检索一组文档

java - 将 int 转换为字节数组并使用 System.out.write 方法打印到控制台

java - 生成签名 APK 错误

java - 我可以在 JAX-RS 中用一个实现来实现两个资源接口(interface)吗?

node.js - Mongoose 架构 "new"关键字