mongodb java driver 3.6获取嵌套字段值

时间:2018-01-29 21:31:23

标签: java mongodb mongo-java-driver

MongoDB Java Driver 3.6.1libGDX使用FindIterable<Document> userDoc = dbConnector.getUserCollection().find(eq("name", username)); Gdx.app.log("Document: ", userDoc.first().toJson()); highscore = userDoc.first().getInteger("highscore.value"); 时出现了烦人的问题,但这似乎不属于问题的一部分:

代码看起来像这样

Document: : { 
    "_id" : { 
        "$oid" : "5a6f83ee63de88719051ff23" 
    }, 
    "name" : "NewApiT", 
    "preferences" : { 
        "sound" : true, 
        "music" : true, 
        "volSound" : 1.0, 
        "volMusic" : 0.05, 
        "charSkin" : 1, 
        "showFpsCounter" : true,
        "useMonochromeShader" : false 
    }, 
    "highscore" : { 
        "value" : 0 
    } 
}

日志显示正确的文档:

int highscore = -1;

但是我总是得到一个高分值的NullPointerException。数据库中的值为0,integer32的类型。 highscore是用

声明的int变量
Document newUser = new Document("name", username)
                .append("preferences", new Document("sound", true)
                        .append("music", true)
                        .append("volSound", (double)1)
                        .append("volMusic", 0.05)
                        .append("charSkin", 1)
                        .append("showFpsCounter", true)
                        .append("useMonochromeShader", false))
                .append("highscore", new Document("value", 0));
        dbConnector.getUserCollection().insertOne(newUser);
之前几行。

所有文件都是这样构建的:

myThing

我希望有人能得到一些问题的建议。

0 个答案:

没有答案