猿问

MongoDB getBoolean 返回 null

我一直试图从 MongoDB 中的集合中获取布尔值,但是当通过 getBoolean 询问时,我收到 null。


在 MongoDB 文档中有 1 个包含以下信息:name:"Test" booleanValue:true


Document searchQuery = new Document();

searchQuery.put("name", "Test");

FindIterable<Document> documents = collection.find(searchQuery);

for (Document document: documents) {

    String name = searchQuery.getString("name");

    Boolean booleanValue = searchQuery.getBoolean("booleanValue");

        System.out.println(document);

    System.out.println(name);

    System.out.println(booleanValue);

}

它表明它可以在打印所有内容时找到文档和名称,甚至可以正确获取 booleanValue,但是当我 getBoolean 时,我收到 null。


Document{{name=Test, booleanValue=true}} 测试 null


拉风的咖菲猫
浏览 84回答 1
1回答

哆啦的时光机

Document searchQuery = new Document();你创造了Document这里。它没有任何名为 的密钥booleanValue。Boolean booleanValue = searchQuery.getBoolean("booleanValue");现在您正试图在此处查询该对象。当然你不会找到 key 的任何东西booelanValue。您可能将 结果文件误认为是searchQuery。for (Document document: documents) {&nbsp; &nbsp; String name = searchQuery.getString("name");&nbsp; &nbsp; Boolean booleanValue = document.getBoolean("booleanValue");&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(document);&nbsp; &nbsp; System.out.println(name);&nbsp; &nbsp; System.out.println(booleanValue);}您需要改为查询document。
随时随地看视频慕课网APP

相关分类

Java
我要回答