我在MongoDB的新的,我想插入到MongoDB的這樣的數據,但我無法弄清楚如何MongoDB中
{
image = "cab"
tags = [
[ "NNP", 0 ],
[ "NN", 1 ]
]
},
{
image = "castle"
tags = [
[ "NNP", 2 ],
[ "NN", 1 ],
]
}
我的代碼裏面插入陣列
BasicDBObject obj = new BasicDBObject();
obj.put("images", ....);
for(Tag tag:tags){
BasicDBObject tagsObj = new BasicDBObject();
tagsObj.put("NNP",tag.getNNP());
tagsObj.put("NN",tag.getNN());
obj.put("tags",tagsObj);
}
UPDATE: 使用此代碼
Mongo m = new Mongo();
DB db = m.getDB("test");
DBCollection coll = db.getCollection("tags");
for(Tag tag:tags){
BasicDBList dbl = new BasicDBList();
dbl.add(new BasicDBObject("NNP",tag.getNNP()));
dbl.add(new BasicDBObject("NN", tag.getNNP()));
BasicDBObject outer=new BasicDBObject("images", currentImageName).append("tags", dbl);
coll.insert(outer);
}
我單獨存儲每個圖像會導致標籤可能是這樣的個Ë相同的圖像
{
image = "cab",
tags = [
{ "NNP", 0 },
{ "NN", 1 }
],
[ {"NNP", 4 },
{ "NN", 5 }
],
[
{"NNP", 0 },
{ "NN", 4 }
]
},
感謝
謝謝,但你能看見我的代碼更新後使用您的代碼 – Peril
您有多個列表,所以你會寫比我的例子更多的代碼。每個地方你有一個[]你將有一個單獨的BasicDBList對象。從字面上看,我的代碼會創建{「image」:「cab」,「tags」:[{「NNP」:0},{「NN」:1}]}。應該清楚如何從我的例子中推斷出來。 –
是{}表示這是一個對象嗎? 我的意思是,如果我想要像這樣的數據: 'tags = [{「NNP」:0,「NN」:1},{「NNP」:3,「NN」:5} ...]' 需要他們在不同的對象? 再次感謝,我將這標記爲一個答案,因爲它真的有幫助 – Peril