2016-06-21 67 views
2

我想在運行時構造Mongo Query,所以解析JSON stringDBObject解析Mongo更新JSON字符串到DBObject

我已經試過如下:

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.$"