2012-06-20 58 views
0

我知道有一個BasicDBObject,讓你幹什麼去了:是否有可能用Mongo Java的json對象填充其他字段?

BasicDBObject info = new BasicDBObject(); 

info.put("x", 203); 
info.put("y", 102); 

我的問題是,該值只能是基本類型。 我有一個json對象,我想用我無法修改的常見數據存儲,但想要在單個mongo文檔中描述json對象。我可以爲了做這樣的事情做什麼:

BasicDBObject info = new BasicDBObject(); 
info.put("Name", "John"); 
info.put("Main Hobby", "Hiking"); 
info.put("Albums", json-string-with-nested-arrays); 

綜上所述,我正在尋找一種方式,讓我來存儲除了在同一個文檔中的鍵值對的JSON對象(假設「json-string-with-nested-arrays」我是不可修改的,所以我不能在其中插入額外的屬性。)我該怎麼做到這一點?

下面是JSON字符串,與嵌套陣列:

{"data":[{"stuff":[ 
    {"onetype":[ 
     {"id":1,"name":"John Doe"}, 
     {"id":2,"name":"Don Joeh"} 
    ]}, 
    {"othertype":[ 
     {"id":2,"company":"ACME"} 
    ]}] 
},{"otherstuff":[ 
    {"thing": 
     [[1,42],[2,2]] 
    }] 
}]} 

回答

1

如果「JSON字符串,與嵌套陣列」是一個JSON字符串,那麼你可以做這樣的事情在蒙戈的Java驅動程序。

info.put("Albums", JSON.parse(json-string-with-nested-arrays)); 

JSON.parse()方法是蒙戈-java的驅動器的一部分

+0

JSON-字符串與嵌套陣列必須被完全格式化JSON字符串 –

+0

不正常,因爲它僅存儲JSON對象作爲字符串,而不是JSON對象。 – Rolando

+0

我不這麼認爲。 JSON.parse()方法將JSON字符串轉換爲與mongo兼容的JSON。我無法知道如何發生這種情況。我可以很好地使用這個 –

相關問題