私は、ネストされた文書はMongoCollection:ネストされたドキュメントを更新することはできません
Document{{_id=59837be4324fb01040068109, idKey=2323, objects=[Document{{24889=Document{{key1=val1, key2=val2}}}}]}}
はJSON形式は、私が
String innerKey="24889";
mongoCollection.updateOne(eq("idKey", 2323),new Document("$set", new Document("objects."+innerKey+".key2", "val3")));
として更新しようとしましたが、この
{
"_id": "59837be4324fb01040068109",
"idKey": 2323,
"objects": [{
"24889": {
"key1": "val1",
"key2": "val2"
}
}]
}
ように見える更新しようとしていますが、もしそうなら、
Document updatedDoc = mongoCollection.find(eq("idKey", 2323)).first();
私はなぜオブジェクトが更新されませんでした
Document{{_id=59837be4324fb01040068109, idKey=2323, objects=[Document{{24889=Document{{key1=val1, key2=val2}}}}, null, null, null, null, null, null, null, ...
を取得しますか?なぜ私はnull
を持っていますか?あなたが名前のキー(24889)によってobjects
にアクセスすることはできませんので、あなたが事前に位置を知っていれば、あなたがより良い
mongoCollection.updateOne(eq("idKey", 2323),new Document("$set", new Document("objects.0."+innerKey+".key2", "val3")));
を試すことができます
を使用しますが、いくつかの有効なJSONデータを貼り付けてくださいもらえますか?サンプルデータはエンティティのtoString()バージョンのように見えますか? – dnickless
ありがとう、私は上記のjson形式を – AbtPst
より上に追加しました。 – AbtPst