详解MongoDB数据库基础操作及实例
代码注释写的比较清楚,大家参考下
示例代码:
/**
* 插入一条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);
}