mongodb java set_MongoDB Java常用操作
請先下載下列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?{
//創(chuàng)建數(shù)據(jù)庫連接
Mongo?mongo?=?new?Mongo("localhost",?27017);
for?(String?dbname?:?mongo.getDatabaseNames())?{
System.out.println("dbname=="?+?dbname);
}
//打開DB
DB?db?=?mongo.getDB("mongodbtest");
//遍歷所有集合名字
Set?colls?=?db.getCollectionNames();
for?(String?string?:?colls)?{
System.out.println(string);
//先刪除所有collection
if?(!string.equals("system.indexes"))?{
db.getCollection(string).drop();
}
}
//取得集合emp(若:emp不存在,mongodb將自動創(chuàng)建該集合)
DBCollection?coll?=?db.getCollection("emp");
//delete?all
DBCursor?dbCursor?=?coll.find().addOption(Bytes.QUERYOPTION_NOTIMEOUT);//設(shè)置不超時(shí)
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();
//創(chuàng)建index
coll.createIndex(new?BasicDBObject("name",?1));//1代表升序
//復(fù)雜對象
UserData?userData?=?new?UserData("jimmy",?"123456");
Set?pets?=?new?HashSet();
pets.add("cat");
pets.add("dog");
Map?favoriteMovies?=?new?HashMap();
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?????????pets;
private?Map?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?getPets()?{
return?pets;
}
public?void?setPets(Set?pets)?{
this.pets?=?pets;
}
public?Map?getFavoriteMovies()?{
return?favoriteMovies;
}
public?void?setFavoriteMovies(Map?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"}}
總結(jié)
以上是生活随笔為你收集整理的mongodb java set_MongoDB Java常用操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1088. [SCOI2005]扫雷Mi
- 下一篇: java美元兑换,(Java实现) 美元