public ObjectId saveOrUpdate(DbBackedProject project) { String buildXml = Items.XSTREAM.toXML(project); BasicDBObject doc = new BasicDBObject("xml", buildXml).append("name", project.getName()).append("parent", project.getIdentifableParent().getId()); BasicDBObject query = new BasicDBObject("name", project.getName()).append("parent", project.getIdentifableParent().getId()); return saveOrUpdate(query, doc); }