
Mongo — la base de données NoSQL orientée document supportée par 10gen — propose un langage de requête compact, simple à appréhender et bien documenté. Les choses se corsent dès que l’on bascule en Java : effectuer une requête, mapper les résultats, utiliser de l’héritage requiert un code très verbeux. Des librairies essayent de simplifier cela (comme Morphia), mais aucune ne propose de requêter en natif. Jongo tente de répondre à ce besoin, utilisant des chaînes de caractères pour requête et unmarshallant les résultats en objets Java.
Lire la suite de cet article »

Le 14 juin, le MongoDB Paris à la gentillesse d’accueillir les développeurs de Jongo.
- Sujet : Jongo, exploiter Mongo en Java avec aisance
- Speakers : Benoît Guérout et Yves Amsellem
- Date : 14 juin 2012 16h25 — 17h05
- Lieu : Eurosites Republique, 8 Bis Rue de la Fontaine au Roi, 75011 Paris
- Inscription : S’inscrire à la conférence 10gen
Si Mongo est plein de qualités, les exploiter à l’aide de son driver Java peut être délicat : requêter, mapper les résultats et gérer le polymorphisme nécessitent beaucoup de code. Des sucres syntaxiques en simplifient l’usage (comme Morphia), mais aucun ne permet d’effectuer des requêtes comme dans le shell (en chaînes de caractères). Jongo essaie de répondre à ce besoin, offrant également une désérialisation des résultats en objets Java (avec Jackson).
En un clin d’oeil :
// Mongo shell
db.peoples.find({age: {$gt: 18}})
// Jongo
Iterable<People> adults = peoples.find("{age: {$gt: 18}}").as(People.class);
// Java driver
Iterable<BSONObject> adults = peoples.find(new BasicDBObject("age", new BasicDBObject("$gt", 18)));
// Morphia
Iterable<People> adults = ds.createQuery(People.class).field("age").greaterThan(18);
Les retours sont les bienvenus sur la mailing-list du projet. Voir jongo.org pour plus.

Le 21 mars, le Mongo User Group à la gentillesse d’accueillir les développeurs de Jongo.
Si Mongo est plein de qualités, les exploiter à l’aide de son driver Java peut être délicat. Des sucres syntaxiques en simplifient d’ailleurs l’usage, Morphia – le plus populaire – permet d’écrire des requêtes à l’aide de builders et d’exploiter les résultats unmarshallé en objets Java. Dans leur lignée, Jongo propose une nouvelle approche : écrire directement les requêtes en chaînes de caractères (et récupérer les résultats unmarshallés).
En un clin d’oeil :
// Mongo shell
db.peoples.find({age: {$gt: 18}})
// Jongo
Iterable<People> adults = peoples.find("{age: {$gt: 18}}").as(People.class);
// Java driver
Iterable<BSONObject> adults = peoples.find(new BasicDBObject("age", new BasicDBObject("$gt", 18)));
// Morphia
Iterable<People> adults = ds.createQuery(People.class).field("age").greaterThan(18);
Les retours sont bienvenus sur l’api à l’étude et les sources GitHub.