繁体   English   中英

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

[英]Find JSON value in mongodb java driver 3.0.x

例如,我有插入到mongo DB Java驱动程序3.0.4中的这两个JSON文件。 我正在尝试根据字段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]; 
    }

据我所知,我尝试了所有可能的组合。

new Document("Document.Details.Id":id);
new Document("Details.Id":id);
new Document("Document.Id":id);

但是没有任何效果。

上面的JSON文档未解析。 解析文档,并立即使用字段名称进行访问。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM