`
点虫虫
  • 浏览: 17888 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

MongoDB试用

阅读更多

 

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);
		
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics