04 MongoDB相關操作

2021-10-21 14:20:58 字數 3010 閱讀 9151

show dbs //查詢全部資料庫

db //顯示當前資料庫

use database_name
例子:

use test02
有test02資料庫則切換到此資料庫,沒有則建立

注意:新建立的資料庫不顯示,需要至少包含乙個集合

db.dropdatabase()
例子:刪除test02資料庫

先切換資料庫:use test02

再執行刪除:db.dropdatabase()

在mongodb中沒有表的概念,都是通過操作集合相當關係型資料庫中的表,乙個資料庫可以有多個集合,乙個集合是將相同型別的文件管理起來

2.1.1、建立集合

db.craetecollection(name,option)
2.1.2、刪除集合
db.collection.drop()
例子:

db.student.drop()   --刪除student集合
mongodb中文件的格式是json格式,下邊就是乙個文件,包含兩個key:_id主鍵和name

2.2.1、插入文件
db.coleection_name.insert(document)
每個文件預設以_id作為主鍵,主鍵預設型別為objectid(物件型別),mongodb會自動生成主鍵值

例如:

db.student.insert()
注意:同乙個集合中的文件的key可以不相同,但是建議設定為相同的。

2.2.2、更新文件

db.collection.update(,,

)

例子:

1、替換文件

將符合條件"name":"北京黑馬程式設計師"的第乙個文件替換為

db.student.update(,)
2、$set修改器

使用$set修改器指定要更新的key,key不存在則建立,存在則更新

將符合條件的"name":"北京黑馬程式設計師"的所有文件更新name和age的值

db.student.update(,},)
2.2.3、刪除文件
db.student.remove()
1、刪除所有文件

db.student.remove({})
2、刪除符合條件的文件

db.student.remove()
2.2.4、查詢文件
db.collection.find(query, projection)
1、查詢全部

db.student.find()
2、查詢符合條件的記錄

查詢name等為"黑馬程式設計師"的文件

db.student.find()
3、投影查詢

只顯示name和age兩個key,_id主鍵不顯示

db.student.find(,)
mongo>db.createuser(

,roles: [

| "",

...]}

)

例子:

建立root使用者,角色為root

use admin

db.createuser(]}

)

內建角色如下:

1、資料庫使用者角色:read、readwrite

2、資料庫管理角色:dbadmin、dbowner、useradmin

3、集群管理角色:clusteradmin、clustermanager、clustermonitor、hostmanager

4、備份恢復角色:backup、restore

5、所有資料庫角色:readanydatabase、readwriteranydatabase、useradminanydatabase、dbadminanydatabase

6、超級使用者角色:root

為了安全需要,mongodb要開啟認證開關,即使用者連線mongodb要進行認證,其中就可以通過賬號密碼進行認證。

1、在mongo.conf中設定auth=true

2、重啟mongodb

3、使用賬號和密碼連線資料庫

mongo.exe -u root -p 123 --authenticationdatabase admin
查詢當前庫下的所有使用者

show users
db.dropuser("使用者名稱")
例子:刪除root1使用者

db.dropuser("root1")
db.updateuser(

"",,

roles : [

| "",

...],

pwd: ""

},writeconcern: )

例子:修改root使用者的角色為readwriteranydatabase

use admin

db.updateuser("root",]})

db.changeuserpassword("username":"newpassword")
例子:修改root使用者的密碼為123

use admin

db.changeuserpassword("root":"123")

mongodb複製集的相關操作

oplog operation log 作用 記錄主節點的寫入操作,充當複製源 預設大小 64位linux,windows作業系統下為當前分割槽可用空間5 複製時間視窗 1024m 1m 1024min 17hours startposition stoposition 複製集故障處理 複製集健康 ...

學習筆記MongoDB 04

文件刪除 說明 在執行remove 函式前,先執行find 命令來判斷執行的條件是否存在,是乙個良好習慣 語法 db.集合名.remove query,引數說明 query 可選,刪除的文件的條件 條件如果不寫 刪除是全部 justone 可選,如果為true或1,則只刪除乙個文件 writecon...

mongodb索引相關

索引是提高查詢查詢效率最有效的手段。索引是一種特殊的資料結構,索引以易於遍歷的形式儲存了資料的部分內容 如 乙個特定的字段或一組字段值 索引會按一定規則對儲存值進行排序,而且索引的儲存位置在記憶體中,所在從索引中檢索資料會非常快。如果沒有索引,mongodb必須掃瞄集合中的每乙個文件,這種掃瞄的效率...