Soy nuevo en MongoDB y quiero insertar a MongoDB datos como este, pero no pude encontrar la maneraInsertar matriz dentro de un objeto en MongoDB
{
image = "cab"
tags = [
[ "NNP", 0 ],
[ "NN", 1 ]
]
},
{
image = "castle"
tags = [
[ "NNP", 2 ],
[ "NN", 1 ],
]
}
mi código es
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);
}
ACTUALIZACIÓN: utilizando este código
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);
}
almaceno cada imagen solo causan las etiquetas podrían ser así para el th misma imagen
{
image = "cab",
tags = [
{ "NNP", 0 },
{ "NN", 1 }
],
[ {"NNP", 4 },
{ "NN", 5 }
],
[
{"NNP", 0 },
{ "NN", 4 }
]
} e,
Gracias
gracias, pero ¿puedes ver mi código después de la actualización usando tu código – Peril
Tienes múltiples listas, así que escribirás un poco más de código que mi ejemplo. Cada lugar que tenga un [] tendrá un objeto BasicDBList por separado. Literalmente, mi código crearía {"image": "cab", "tags": [{"NNP": 0}, {"NN": 1}]}. Debe quedar claro cómo extrapolar de mi ejemplo. –
es el {} indica que es un objeto? Quiero decir, si quiero datos como este 'tags = [{" NNP ": 0," NN ": 1}, {" NNP ": 3," NN ": 5} ...]' I los necesita en diferentes objetos? gracias de nuevo, voy a marcar esto como una respuesta porque realmente ayudó – Peril