Tôi mới tại MongoDB và tôi muốn chèn để MongoDB dữ liệu như thế này nhưng tôi không thể tìm ra cáchChèn Mảng bên trong một đối tượng trong MongoDB
{
image = "cab"
tags = [
[ "NNP", 0 ],
[ "NN", 1 ]
]
},
{
image = "castle"
tags = [
[ "NNP", 2 ],
[ "NN", 1 ],
]
}
mã của tôi là
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: sử dụng mã này
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);
}
tôi lưu trữ tất cả các hình ảnh một mình gây ra các thẻ có thể là như thế này cho th e cùng hình ảnh
{
image = "cab",
tags = [
{ "NNP", 0 },
{ "NN", 1 }
],
[ {"NNP", 4 },
{ "NN", 5 }
],
[
{"NNP", 0 },
{ "NN", 4 }
]
},
Cảm ơn
cảm ơn, nhưng có thể bạn nhìn thấy mã của tôi sau khi cập nhật sử dụng mã của bạn – Peril
Bạn có nhiều danh sách, do đó bạn sẽ viết mã nhiều hơn một chút so với ví dụ của tôi. Mỗi nơi bạn có một [] bạn sẽ có một đối tượng BasicDBList riêng biệt. Theo nghĩa đen, mã của tôi sẽ tạo {"image": "cab", "tags": [{"NNP": 0}, {"NN": 1}]}. Nó phải được rõ ràng như thế nào để ngoại suy từ ví dụ của tôi. –
là {} cho biết đây là một đối tượng? Ý tôi là, nếu tôi muốn dữ liệu như thế này 'tags = [{" NNP ": 0," NN ": 1}, {" NNP ": 3," NN ": 5} ...]' I cần chúng trong các đối tượng khác nhau? cảm ơn một lần nữa, tôi sẽ gắn cờ đây là câu trả lời vì nó thực sự đã giúp – Peril