Querying MongoDB from Java without a fuss
{
"_id": ObjectId("524048b68faa3a7de509a5bb"),
"name" : "Ivan",
"twitter": "@iv_hristov",
"projects": [
{"name": "FEST-Reflect", "description": "Easy Java reflection"},
{"name": "Jongo", "site" : "http://jongo.org/",
"creators": [
{"name": "Benoit Guérout", "twitter": "@bguerout"},
{"name": "Yves Amsellem", "twitter": "@amsellemyves"}
]}
]
}
db.characters.insert({first_name: 'Eddard', last_name: 'Stark'});
characters.insert("{first_name: 'Eddard', last_name: 'Stark'}");
db.characters.findOne({_id : ObjectId("525ae7e130049e2a5c27ee39")});
characters.findOne(new ObjectId("525ae7e130049e2a5c27ee39")).as(...);
db.characters.findOne({gender: 'FEMALE', first_name: 'Arya'});
characters.findOne("{gender: #, first_name : #}", FEMALE, "Arya").as(...)
db.weapons.update({_id: 'Lightbringer'}, {$set : {details: '...'}});
weapons.update("{_id: 'Lightbringer').with("{$set: {details: '...'}}");
db.weapons.remove({_id: 'Lightbringer'});
weapons.remove("{_id: 'Lightbringer'}");
characters.findOne("{gender : #, first_name: #}", FEMALE, "Arya")
.as(Heroine.class);
ds.find(Heroine.class, "gender", Gender.FEMALE).field("first_name")
.equal("Arya");
mongoTemplate.findOne(Query.query(Criteria.where("gender").is(Gender.FEMALE)
.and("first_name").is("Arya")), Heroine.class);
weapons.update("{_id:'Lightbringer'}").with("{$set: {details: #}}",details);
ds.update(ds.createQuery(Weapon.class).field("id").equal("Lightbringer"),
ds.createUpdateOperations(Weapon.class).set("details", details));
mongoTemplate.findAndModify(Query.query(Criteria.where("_id").is("Lightbringer")),
new Update().set("details", details), Weapon.class);