詳解MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)操作及實(shí)例
詳解數(shù)據(jù)庫(kù)基礎(chǔ)操作及實(shí)例
廢話不多說(shuō),直接上代碼,注釋寫(xiě)的比較清楚,大家參考下,
示例代碼:
/**
* 插入一條DB對(duì)象
*/
public static void addDBObject(DBCollection collection,BasicDBObject object){
collection.insert(object);
}
/**
* 根據(jù)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;
}
}
/**
* 根據(jù)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;
}
}
/**
* 根據(jù)數(shù)據(jù)庫(kù)名獲取(新增)下面所有聚集名(表名)
*/
public static Set<String> getCollectionsNames(String DBName) throws MongoException, UnknownHostException{
return getDB(DBName).getCollectionNames();
}
/**
* 遍歷聚集中的db對(duì)象集合(相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù))
*/
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;
}
/**
* 獲取/新增聚集(相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)表)
*/
public static DBCollection getDBCollection(String DBName,String collectionName) throws UnknownHostException, MongoException{
return getDB(DBName).getCollection(collectionName);
}
/**
* 獲取/新增數(shù)據(jù)庫(kù)
*/
public static DB getDB(String DBName) throws UnknownHostException, MongoException{
return getMongo().getDB(DBName);
}
/**
* 連接數(shù)據(jù)庫(kù)
*/
public static Mongo getMongo() throws UnknownHostException, MongoException{
Mongo mg = null;
if(mg == null){
mg = new Mongo();
}
return mg;
}
/**
* 關(guān)閉連接
*/
public static void destory(Mongo mg) {
if (mg != null){
mg.close();
mg = null;
}
System.gc();
}
/**
* 獲取數(shù)據(jù)庫(kù)名
*/
public static List<String> getDBNames() throws MongoException, UnknownHostException{
return getMongo().getDatabaseNames();
}
/**
* 刪除數(shù)據(jù)庫(kù)
*/
public static void deleteDB(String DBName) throws MongoException, UnknownHostException{
getMongo().dropDatabase(DBName);
}
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Mongodb設(shè)置TTL索引自動(dòng)清除數(shù)據(jù)與過(guò)期數(shù)據(jù)的方法
今天小編就為大家分享一篇關(guān)于Mongodb設(shè)置TTL索引自動(dòng)清除數(shù)據(jù)與過(guò)期數(shù)據(jù)的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
MongoDB的Master-Slave主從模式配置及主從復(fù)制要點(diǎn)解析
主從復(fù)制是數(shù)據(jù)庫(kù)運(yùn)維中一種常見(jiàn)的備份方式,這里我們來(lái)看一下MongoDB的Master-Slave主從模式配置及主從復(fù)制要點(diǎn)解析,需要的朋友可以參考下2016-06-06
C#實(shí)現(xiàn)窗體中的各個(gè)控件同比自動(dòng)放縮大小
這篇文章主要介紹了C#實(shí)現(xiàn)窗體中的各個(gè)控件同比自動(dòng)放縮大小,實(shí)現(xiàn)方式主要是利用panel控件為主題,對(duì)于每個(gè)控件的大小位置和字體這幾個(gè)屬性進(jìn)行記錄,然后根據(jù)窗體改變的大小同時(shí)放縮,需要的朋友可以參考下2014-10-10
利用MongoDB中oplog機(jī)制實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)數(shù)據(jù)的操作監(jiān)控
MongoDB 的Replication是通過(guò)一個(gè)日志來(lái)存儲(chǔ)寫(xiě)操作的,這個(gè)日志就叫做oplog,而下面這篇文章主要給大家介紹了利用MongoDB中oplog機(jī)制實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)數(shù)據(jù)的操作監(jiān)控的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-05-05
mongodb實(shí)現(xiàn)同庫(kù)聯(lián)表查詢方法示例
在關(guān)系型數(shù)據(jù)庫(kù)中,通過(guò)連接運(yùn)算符可以實(shí)現(xiàn)多個(gè)表聯(lián)合查詢。而非關(guān)系型數(shù)據(jù)庫(kù)的特點(diǎn)是表之間屬于弱關(guān)聯(lián),下面這篇文章主要給大家介紹了關(guān)于mongodb實(shí)現(xiàn)同庫(kù)聯(lián)表查詢的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-08-08

