详解MongoDB数据库基础操作及实例

栏目:MongoDB 来源:网络 关注:0 时间:2019-09-20

详解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);
}

本文标题:详解MongoDB数据库基础操作及实例
本文地址:http://www.q0738.com/mongodb/8877.html