我需要一些关于我计划做的项目的帮助。在这个阶段,我正在尝试学习在 Java 中使用 NoSQL 数据库。我有一些看起来像这样的嵌套文档: MongoDB nesting structure
就像你在图片上看到的那样,我的内在属性是“模型”和“构造”。
现在我需要遍历我的集合中的所有文档,它们的键名是未知的,因为它们是在运行时生成的,当用户输入一些信息时。
最后,我需要在 TreeView 中列出它们,保持它们在数据库中已有的结构。我尝试的是从文档中获取 keySets,但我无法通过结构的第二层。我能够以 Json 格式打印整个对象,但我无法访问特定属性,如“模型”或“构造”。
MongoCollection collection= mongoDatabase.getCollection("test");
MongoCursor<Document> cursor = collection.find().iterator();
for(String keys: document.keySet()) {
Document vehicles = (Document) document.getString(keys);
//System.out.println(keys);
//System.out.println(document.get(keys));
}
/Document cars = (Document) vehicle.get("cars");
Document types = (Document) cars.get("coupes");
Document brands = (Document) types.get("Ford");
Document model = (Document) brands.get("Mustang GT");
在这里,我尝试通过硬编码文档的键名来获取一些属性,但我似乎也无法获得任何值。它一直告诉我它无法从车辆中读取,因为它是空的。
论坛中最多的教程和帖子,不知何故对我不起作用。我不知道他们是否有任何其他版本的 MongoDB 驱动程序。我的是:mongodb驱动程序3.12.7。如果这对您有任何帮助。
我现在正试图让这个工作好几天,这让我发疯。我希望有任何人能够帮助我解决这个问题。