2016-06-21 17 views
2

Mongo Queryを実行時に構築しようとしています。したがって、JSON stringからDBObjectに解析しています。Parse Mongo DBObjectへのJSON文字列の更新

私は以下のように試してみました:

String then = "{$set : {"JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "Waltham", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "MA", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "Middlesex", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "USA", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "02451", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "42.398708", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "-71.259216", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "71650: Metropolitan NECTA |715: Combined NECTA", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "71654: NECTA Division", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "DV257165|MT257165", "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "781"}}" 

DBObject thenQuery = (DBObject) JSON.parse(then); 

結果:

{ "$set" : { "JobDoc.DataElementsRollup.ConsolidatedONET.#text.$" : "781"}} 

誰もが、私はそれを動作させる方法を提案し、間違った他つもりですし、私を並べ替えることができますか?

+0

ありがとう@Shrabanee。 –

答えて

1

オブジェクト内で同じプロパティ名を複数回使用しているため、出力が得られます。

Property nameは、オブジェクト内で一意である必要があります。

クエリには"JobDoc.DataElementsRollup.ConsolidatedONET.#text.$"を複数回使用しないでください。