我正在尝试从子文档中获取键的值,但我似乎无法弄清楚如何使用 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/