Base de données Mongo enregistrer les données de la Carte

J'ai le code ci-dessous qui fonctionne:

if (aDBCursor.hasNext()) {
    DBObject aDbObject = aDBCursor.next();
    aDbObject.put("title", "Test Title");
    ArrayList<DBObject> department = new ArrayList<DBObject>();

    DBObject nested1 = new BasicDBObject();
    nested1.put("name", "Department A");
    nested1.put("id", 1);
    department.add(nested1);

    DBObject nested2 = new BasicDBObject();
    nested2.put("name", "Department B");
    nested2.put("id", 2);
    department.add(nested2);

    aDbObject.put("department", department);
    collection.save(aDbObject);
}

Toutefois, j'ai les données de Service A et B dans une carte comme:

Map<Object,Object> map = new HashMap<Object,Object>();
map.put("1", "Department A");
map.put("2", "Department B");

Quel serait le meilleur/le plus simple est d'enregistrer ces données? Est-il possible de mettre la carte directement dans le mongo DB? Ou aurais-je dû faire une boucle sur la carte?

Les données qui va dans la carte est déjà pris à partir de la base de données comme suit:

String[] values = req.getParameterValues("departments");
Map<Object,Object> map = new HashMap<Object,Object>();

DBCollection collection = database.getCollection("Departments");
BasicDBObject query = new BasicDBObject();
query.put("id", new BasicDBObject("$in", values));
DBCursor cursor = collection.find(query);   

Serait encore mieux c'est que je pourrais juste mettre la DBCursor objet dans la base de données.

Des idées?

Merci pour toute aide ou suggestion!

OriginalL'auteur Marc Stevens | 2011-07-24