MongoDB Java常用操作
2015-12-10 00:00
288 查看
请先下载下列jar包:
mongo-java-driver-*.jar,junit*.jar,gson-*.jar
mongo-java-driver-*.jar,junit*.jar,gson-*.jar
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"}}
相关文章推荐
- 对mongodb修改成为主节点权重
- mongodb的高级操作(游标、聚合)
- MongoDB3.0发布--新特性
- mongodb+php通过_id查询
- 【二】MongoDB入门
- mongodb-创建索引
- MongoDB - Cursors
- 谨慎选择MongoDB
- 【一】MongoDB安装及配置
- mongodb分布式集群架构
- 记一次mongodb CPU飙升100%的解决
- MongoDB学习之路 (五):更新操作符(Update Operators).2nd
- MongoDB学习 (五):查询操作符(Query Operators).1st
- Mongodb安装和配置
- MongoDB学习 (四):创建、读取、更新、删除(CRUD)快速入门
- mongodb的基本操作(详细操作)
- Win7安装MongoDB
- Linux-MongoDB安装说明
- MongoDB使用小结:一些常用操作分享
- mongodb操作