mongdb数据库基本操作

	/**
	 * 插入一条DB对象
	 */
	public static void addDBObject(DBCollection collection,BasicDBObject object){
		collection.insert(object);
	}
	
	/**
	 * 根据id查询DBObject
	 */
	public static DBObject getDBObjectById(String value) throws UnknownHostException, MongoException{
		dbc = getDBCollection("company", "users").find(new BasicDBObject("_id",new ObjectId(value)));
		DBObject ob = null;
		int i = 0;
		while(dbc.hasNext()){
			ob = dbc.next();
			i++;
		}
		if(i == 1){
			return ob;
		}else{
			return null;
		}
	}
	
	/**
	 * 根据key和value值查询
	 */
	public static DBObject getDBObject(String key,String value) throws UnknownHostException, MongoException{
		dbc = getDBCollection("company", "users").find(new BasicDBObject(key,value));
		DBObject ob = null;
		int i = 0;
		while(dbc.hasNext()){
			ob = dbc.next();
			i++;
		}
		if(i == 1){
			return ob;
		}else{
			return null;
		}
	}
	
	/**
	 * 根据数据库名获取(新增)下面所有聚集名(表名)
	 */
	public static Set<String> getCollectionsNames(String DBName) throws MongoException, UnknownHostException{
		return getDB(DBName).getCollectionNames();
	}
	
	/**
	 * 遍历聚集中的db对象集合(相当于关系数据库中的数据)
	 */
	public static Set<DBObject> getDBObjects(DBCollection collection){
		Set<DBObject> dbObjects = new HashSet<DBObject>();
		DBCursor cursor = collection.find();
		while(cursor.hasNext()){
			DBObject object = cursor.next();
			dbObjects.add(object);
		}
		return dbObjects;
	}
	
	/**
	 * 获取/新增聚集(相当于关系数据库表)
	 */
	public static DBCollection getDBCollection(String DBName,String collectionName) throws UnknownHostException, MongoException{
		return getDB(DBName).getCollection(collectionName);
	}
	
	/**
	 * 获取/新增数据库
	 */
	public static DB getDB(String DBName) throws UnknownHostException, MongoException{
		return getMongo().getDB(DBName);
	}
	
	/**
	 * 连接数据库
	 */
	public static Mongo getMongo() throws UnknownHostException, MongoException{
		Mongo mg = null;
		if(mg == null){
			mg = new Mongo();
		}
		return mg;
	}
	
	/**
	 * 关闭连接
	 */
	public static void destory(Mongo mg) {
		if (mg != null){
			mg.close();
			mg = null; 
		}
		System.gc();    
	}
	
	/**
	 * 获取数据库名
	 */
	public static List<String> getDBNames() throws MongoException, UnknownHostException{
		return getMongo().getDatabaseNames();
	}
	
	/**
	 * 删除数据库
	 */
	public static void deleteDB(String DBName) throws MongoException, UnknownHostException{
		getMongo().dropDatabase(DBName);
	}

猜你喜欢

转载自wjch-111.iteye.com/blog/1587077