2016-10-13 6 views
0

MongoDBをバックエンドに使用してJAX-RS Webサービスを開発しています。私はMongo Collection MappingクラスにMorphiaを使用しています。挿入操作の1つでは、JSONの内部にJsonがあります。[Java]:MongoDBに動的JSONを挿入して取得する方法

{ 
    "deviceId" : "57b5afc7e91c14ce01425fb6", 
    "data":{ 
     "mah":50, 
     "volt":23 
    }, 
    "isSynced" : true 
} 

この場合、キー「データ」を持つJSONは動的です。それは何でもかまいません。

コレクション内に動的JSONを挿入するにはどうすればよいですか?動的なので、私はそれをクラスにマップすることはできません。

+0

データ値を格納用の文字列にエンコードします。これは、取得時にjsonオブジェクトにデコードする必要があります。 – Tschallacka

+0

@Tschallacka更新をありがとうございますが、これを処理するMongoDBやMorphiaにはデータ型がありますか? –

答えて

0

エンティティ内にそのJSONをMapとして保存することができます。値の型はおそらくObjectでなければならないので、ジェネリックはファンキーになるかもしれません。

0

これが解決されました。これにはcom.mongodb.BasicDBObjectを使用しました。これには目的を果たす組み込みコンストラクタがあります。

+0

どのようにBasicDBObjectを使用しましたか?私は空のものを作り、それに名前と値のペアを詰め込んでみました。 Morphiaに保存すると、ドキュメントにはクラスメタデータだけが含まれますが、実際のデータは含まれません。 – Keenan

+0

@Keenanは私が確認できるようにコードスニペットを投稿できますか? –

関連する問題