請先下載下列jar包:java
mongo-java-driver-*.jar,junit*.jar,gson-*.jarmongodb
import java.net.UnknownHostException; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import com.google.gson.Gson; import com.mongodb.BasicDBObject; import com.mongodb.Bytes; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.Mongo; import com.mongodb.MongoException; import com.mongodb.util.JSON; public class Test { @org.junit.Test public void testCRUD() throws UnknownHostException, MongoException { //建立數據庫鏈接 Mongo mongo = new Mongo("localhost", 27017); for (String dbname : mongo.getDatabaseNames()) { System.out.println("dbname==" + dbname); } //打開DB DB db = mongo.getDB("mongodbtest"); //遍歷全部集合名字 Set<String> colls = db.getCollectionNames(); for (String string : colls) { System.out.println(string); //先刪除全部collection if (!string.equals("system.indexes")) { db.getCollection(string).drop(); } } //取得集合emp(若:emp不存在,mongodb將自動建立該集合) DBCollection coll = db.getCollection("emp"); //delete all DBCursor dbCursor = coll.find().addOption(Bytes.QUERYOPTION_NOTIMEOUT);//設置不超時 for (DBObject dbObject : dbCursor) { coll.remove(dbObject); } //create BasicDBObject doc = new BasicDBObject("name", "test").append("sex", "test").append( "address", new BasicDBObject("postcode", "aaaa").append("street", "test") .append("city", "test2")); coll.insert(doc); //retrieve BasicDBObject docFind = new BasicDBObject("name", "test"); DBObject finResult = (DBObject) coll.findOne(docFind); System.out.println(finResult); //update doc.put("sex", "MALE"); coll.update(finResult, doc); finResult = coll.findOne(docFind); System.out.println(finResult); //刪除全部index coll.dropIndexes(); //建立index coll.createIndex(new BasicDBObject("name", 1));//1表明升序 //複雜對象 UserData userData = new UserData("jimmy", "123456"); Set<String> pets = new HashSet<String>(); pets.add("cat"); pets.add("dog"); Map<String, String> favoriteMovies = new HashMap<String, String>(); favoriteMovies.put("dragons", "Dragons II"); favoriteMovies.put("avator", "Avator I"); userData.setFavoriteMovies(favoriteMovies); userData.setPets(pets); userData.setBirthday(getDate(1990, 5, 1)); BasicDBObject objUser = new BasicDBObject("key", "jimmy").append("value", toDBObject(userData)); coll.insert(objUser); System.out.println(coll.findOne(objUser)); mongo.close(); mongo = null; db = null; coll = null; doc = null; dbCursor = null; System.gc(); } private DBObject toDBObject(Object obj) { Gson gson = new Gson(); String json = gson.toJson(obj); return (DBObject) JSON.parse(json); } private Date getDate(int year, int month, int day) { Calendar calendar = Calendar.getInstance(); calendar.clear(); calendar.set(year, month - 1, day); return calendar.getTime(); } }
public class UserData implements Serializable { private static final long serialVersionUID = -1458264368996911555L; private String userName; private String password; private Set<String> pets; private Map<String, String> favoriteMovies; private Date birthday; public UserData(String userName, String passWord) { this.userName = userName; this.password = passWord; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Set<String> getPets() { return pets; } public void setPets(Set<String> pets) { this.pets = pets; } public Map<String, String> getFavoriteMovies() { return favoriteMovies; } public void setFavoriteMovies(Map<String, String> favoriteMovies) { this.favoriteMovies = favoriteMovies; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
emp system.indexes { "_id" : { "$oid" : "56696b6e40ad7fee67b4343b"} , "name" : "test" , "sex" : "test" , "address" : { "postcode" : "aaaa" , "street" : "test" , "city" : "test2"}} { "_id" : { "$oid" : "56696b6e40ad7fee67b4343b"} , "name" : "test" , "sex" : "MALE" , "address" : { "postcode" : "aaaa" , "street" : "test" , "city" : "test2"}} { "_id" : { "$oid" : "56696b6e40ad7fee67b4343c"} , "key" : "jimmy" , "value" : { "userName" : "jimmy" , "password" : "123456" , "pets" : [ "cat" , "dog"] , "favoriteMovies" : { "dragons" : "Dragons II" , "avator" : "Avator I"} , "birthday" : "May 1, 1990 12:00:00 AM"}}