java訪問mongodb的基本操作

2021-07-04 20:56:45 字數 3241 閱讀 1299

1.mongodb背景知識。

詳細介紹可以檢視官網:

2.mongo db的常用基本操作

1)連線**例項:

public void initmongo()  catch (unknownhostexception e) 

// 如果該資料庫不存在,則建立乙個名為「dbforerrorlog」的db

db = client.getdb("dbforerrorlog」);

// 如果該collection不存在,則建立乙個名為「wall*****」的collection

collection = db.getcollection("wall*****」);

}

連線之後可以通過collection來進行查詢,插入,刪除,更新。

2)查詢介面:

// param1:要查詢的key

// param2:要查詢的key對應的值

// 介面功能:根據給定條件,查詢符合條件的document記錄

public void query(string key, object value)

}

// 無引數

// 介面功能:直接顯示當前collection的所有條目

// 類似於 select * from table

public void queryall()

}

3)插入介面:

// param:要插入collection的key/value對,存在map中

// 介面功能:向當前collection插入乙個條目(document)

public void writeintomongo(map content) throws unknownhostexception

// 如果想要一次性新增多個條目,可以傳入乙個(listlist)引數,把要插入的record儲存在dbobject中,通過list一次性插入。

// collection.insert(list);

4)刪除介面:

// param:要刪除的條目滿足的查詢條件

// 介面功能:從當前collection中刪除滿足條件的條目

// e.g. dbobject rm = new basicdbobject("errorid", new basicdbobject("$gte",1001));

// 呼叫效果:把所有」errorid」的值大於等於1001的document刪除

// 也可以像新增操作一樣,傳入乙個map,使用map構建dbobject,從而用多個條件限定結果。

public void removefrommongo(dbobject rmpattern)

5)更新介面:

// param1:要替換掉的條目所滿足的查詢條件

// param2:更新之後的條目內容

// param3:若為true,則沒找到符合條件的record時,插入dest

// param4:若為false,則只更新符合條件的第一行;

// 若為true,則更新找到的所有record,此時dest應使用$set

// 介面功能:在collection中更新某些條目

// e.g. param1與刪除的param相似

// param2是要插入的dbobject,可以使用map初始化,也可以直接用key/value對來初始化

// e.g. dbobject dest = new basicdbobject("errorid",1003);

public void updatemongo(dbobject src, dbobject dest,boolean upsert, boolean multi)

6)main函式呼叫示例:

public static void main(string args)  catch (unknownhostexception e) 

// 刪除所有」errorid」==1001的record

dbobject rm = new basicdbobject("errorid", 1001);

wim.removefrommongo(rm);

// 把找到的第乙個」errorid」>=1000的record,更新為

// 相當於把src標識出的第乙個record的內容完全替換為dest表示的record。

// 替換前後的record,保持primarykey(_id)的值不變。

dbobject src = new basicdbobject("errorid", new basicdbobject("$gte",1000));

dbobject dest = new basicdbobject(「errorid」, 「sorry i am updated」);

wim.updatemongo(src, dest, true, false);

// 執行結果如下:

/* after insert:

, "errortype" : "wall*****" , "errorid" : 1001}

after update:

, "errorid" : "sorry i am updated"}

*/// multi引數為true,則更新所有匹配src的record

// dest 通過$set引數,只改變dest中的key/value,不改變其他內容

dbobject src = new basicdbobject("errorid", new basicdbobject("$gte",1000));

dbobject dest = new basicdbobject("$set",new basicdbobject("errorid","sorry i am updated"));

wim.updatemongo(src, dest, true, true);

// 執行結果如下:

/*after insert:

, "errortype" : "wall*****" , "errorid" : 1001}

after update:

, "errorid" : "sorry i am updated" , "errortype" : "wall*****"}

*/}

mongodb 限制ip訪問

code class python 一 限制訪問ip和埠mongodb可以限制只允許某一特定ip來訪問,只要在啟動時加乙個引數bind ip即可,或者在 etc mongodb.conf中新增bind ip配置,如下 方法一mongod bind ip 127.0 0.1,10.0 133 14 方...

MongoDB 資料庫基操

認識mongodb 進入資料庫 mongo 退出 exit 庫,集合操作 顯示所有庫 show dbs 切換 建立資料庫 use 資料庫名稱 檢視所在庫 db 刪除庫 db.dropdatabase 顯示當前資料庫的集合 show collections 建立集合 db.createcollecti...

修改基類訪問許可權

問題 我們經常擴充套件別人寫好乙個類的功能,為了防止別人錯誤地使用我們擴充套件的功能,我們需要遮蔽直接呼叫原基類的功能。例如 class base void add base pbase void remove base pbase 我們擴充套件base 的add,remove功能,在這兩個函式裡需...