public DBObject toDBObject(boolean insert) { BasicDBObject dbObj = new BasicDBObject(); if (!insert) dbObj.put(ID, new ObjectId(_id)); dbObj.put(USERNAME, this.userName); dbObj.put(NAME, name.toDBObject()); dbObj.put(DOB, dob.getTime()); dbObj.put(USERTYPE, type.toString()); dbObj.put(USERLEVEL, userlevel.toString()); dbObj.put(GENDER, gender.toString()); dbObj.put(NATIONALITY, nationality); dbObj.put(IMAGEFILE, imageFile); dbObj.put(ADDRESS, address.toDBObject()); dbObj.put(INTERESTS, interests.toString()); dbObj.put(EMAIL, email); dbObj.put(AGE, age); dbObj.put(DESC, desc); dbObj.put(RLANG, rLang.toString()); dbObj.put(WLANG, wLang.toString()); dbObj.put(PENNAME, penName); Set<BasicDBObject> bookMarkSet = new HashSet<BasicDBObject>(); for (BookMark mark : bookMarks) { bookMarkSet.add((BasicDBObject) mark.toDBObject()); } dbObj.put(BOOKMARKS, bookMarkSet); dbObj.put(PHONE, phone); return dbObj; }