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 {

//创建数据库连接

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将自动创建该集合)

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 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"}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值