在mongodb java驱动程序3.0.x中查找JSON值

在mongodb java驱动程序3.0.x中查找JSON值,java,json,mongodb,Java,Json,Mongodb,例如,我将这两个JSON文件插入到mongo DB java驱动程序3.0.4中。 我试图根据字段Id获取详细信息。但我所有的努力都白费了。谁能告诉我哪里搞砸了。提前谢谢 Document { _id = 5721dd81ef31f82754eac196, Details = { "author_FirstName" : "Nishant", "author_LastName" : "Jayanth", "book_title" :

例如,我将这两个JSON文件插入到mongo DB java驱动程序3.0.4中。 我试图根据字段Id获取详细信息。但我所有的努力都白费了。谁能告诉我哪里搞砸了。提前谢谢

Document {
    _id = 5721dd81ef31f82754eac196,
    Details = {
        "author_FirstName" : "Nishant",
        "author_LastName" : "Jayanth",
        "book_title" : "skjfsasfhkj",
        "Id" : 78,
        "publisher" : "tata",
        "year" : 1231,
        "ISBN" : 291939
    }

}

Document {
    _id = 5721dd81ef31f82754eac196,
    Details = {
        "author_FirstName" : "Nishant",
        "author_LastName" : "Jayanth",
        "book_title" : "skjfsasfhkj",
        "Id" : 777,
        "publisher" : "tata",
        "year" : 1231,
        "ISBN" : 291939
    }

}
这是我试图根据Id检索的代码

public String getAuthor(String id){
    String pId=String.valueOf(id);
    final String[] author = {null};
    FindIterable<Document> iterable=store.find(new Document("Id", 777)); //Probably this is where something is wrong
    iterable.forEach(new Block<Document>() {
    @Override
    public void apply(final Document document) {
          author[0]=document.toString();
          System.out.println(document);
        }       
    });

        return author[0]; 
    }

但是没有任何效果。

上面的JSON文档没有被解析。解析文档并使用字段名直接访问


collection.insertOne(Document.parse(您的数据))

试试这个:Document[“Details”][“Id”]你的JSON文档很奇怪。通常,对于Mongo,您应该删除外部“文档”,并使其成为同名的集合。插入包含
\u id
详细信息的文档。
new Document("Document.Details.Id":id);
new Document("Details.Id":id);
new Document("Document.Id":id);