public class TestMongoDB {
/**
* @param args
*/
public static void main(String[] args) {
TestMongoDB t = new TestMongoDB();
DB db = t.conn();
t.insert(db);
// t.findFirst(db);
// t.loopInsert(db);
// t.count(db);
// t.getIterateColl(db);
// t.getData(db);
// t.update(db);
// t.delete(db);
}
//连接mongo db
public DB conn(){
DB db = null;
try {
Mongo m = new Mongo("192.168.1.129",27017);
db = m.getDB("test");
return db;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (MongoException e) {
e.printStackTrace();
}
return db;
}
//获取所有collections名字,类似于获取所有table名字。
public void getCollections(DB db){
Set<String> result = db.getCollectionNames();
for(String s:result){
System.out.println(s);
}
}
//插入数据
public void insert(DB db){
DBCollection coll = db.getCollection("MonTest");
BasicDBObject doc = new BasicDBObject();
doc.put("name", "郑家豪");
doc.put("sno", 1001);
doc.put("school", "广东商学院");
BasicDBObject friends = new BasicDBObject();
BasicDBObject f1 = new BasicDBObject();
f1.put("name", "苗露");
f1.put("id", 1);
f1.put("hobbit", "football");
BasicDBObject f2 = new BasicDBObject();
f2.put("name", "詹婷婷");
f2.put("id", 2);
f2.put("hobbit", "football");
friends.put("f1",f1);
friends.put("f2",f2);
// friends.put("f1","苗露");
// friends.put("f2","詹婷婷");
// doc.put("friends", friends);
// BasicDBObject[] fs = new BasicDBObject[]{f1,f2};
// doc.put("friends", fs);
ArrayList<BasicDBObject> fl = new ArrayList<BasicDBObject>();
fl.add(f1);
fl.add(f2);
doc.put("friends", fl);
coll.insert(doc);
}
//找到第一条数据
public void findFirst(DB db){
DBCollection coll = db.getCollection("MonTest");
DBObject doc = coll.findOne();
System.out.println(doc);
}
//循环插入数据
public void loopInsert(DB db){
DBCollection coll = db.getCollection("MonTest");
for(int i=0;i<101;i++){
coll.insert(new BasicDBObject().append("i", i));
}
}
//统计一个collection的条数
public void count(DB db){
DBCollection coll = db.getCollection("MonTest");
System.out.println(coll.getCount());
}
//遍历一个collection
public void getIterateColl(DB db){
DBCollection coll = db.getCollection("MonTest");
DBCursor cursor = coll.find();
while(cursor.hasNext()){
DBObject doc = cursor.next();
System.out.println(doc);
}
}
//查找一个collection的一条数据
public void getData(DB db){
DBCollection coll = db.getCollection("MonTest");
BasicDBObject query = new BasicDBObject().append("name", "郑家豪");
query.put("friends.f1.name","苗露");
BasicDBObject keys = new BasicDBObject();
keys.put("friends.f1", 1); //1表示显示 0表示不显示
DBCursor cursor = coll.find(query,keys);
while(cursor.hasNext()){
DBObject doc = cursor.next();
DBObject friends = (DBObject) doc.get("friends");
DBObject f1 = (DBObject) friends.get("f1");
System.out.println(f1.get("name"));
// System.out.println(doc.get("friends"));
}
}
//修改多条数据 (updateMulti 修改一条用update)
public void update(DB db){
DBCollection coll = db.getCollection("MonTest");
BasicDBObject query = new BasicDBObject().append("friends.f1.id", 1);
BasicDBObject update = new BasicDBObject();
update.put("friends.f1.name", "simon");
coll.updateMulti(query, new BasicDBObject().append("$set", update));
DBCursor cursor = coll.find(query);
while(cursor.hasNext()){
DBObject doc = cursor.next();
System.out.println(doc);
}
}
//删除
public void delete(DB db){
DBCollection coll = db.getCollection("MonTest");
BasicDBObject doc = new BasicDBObject().append("friends.f1.id", 1);
coll.remove(doc);
getIterateColl(db);
}
//优化查找 optimization
public void optiGetData(DB db){
DBCollection coll = db.getCollection("MonTest");
}
}
如果想像ORM
public class Friends extends BasicDBObject {
private String name;
private String password;
private int sex;
public Friends(String name, String password, int sex) {
super();
this.name = name;
this.password = password;
this.sex = sex;
}
public Friends(){
super();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
//插入
public void insert(DB db){
Friends f = new Friends();
DBCollection coll = db.getCollection("friends");
f.put("name", "郑家豪");
f.put("sno", "123456");
f.put("sex", 0);
coll.setObjectClass(Friends.class);
coll.insert(f);
ObjectId id = (ObjectId)f.get( "_id" );
System.out.println(id);
}