天天看點

mongodb shell指令

連接配接資料庫

第一種:/opt/local/mogodb/bin/mongo --host 10.130.161.15:8000 

第二種:mongo IP:端口/資料庫名 -u 使用者名 -p 密碼

退出:exit

1.建立使用者

db.createUser( { user: "userName",
                 pwd: "password",
                 customData: { employeeId: 12345 },
                 roles: [ { role: "clusterAdmin", db: "dbName" },
                          { role: "readAnyDatabase", db: "dbName" },
                          "readWrite"] },
               { w: "majority" , wtimeout: 5000 } )
           

注:

(1)customData: 用于描述賬戶資訊

(2)roles:

資料庫使用者角色

Read:允許使用者讀取指定資料庫

readWrite:允許使用者讀寫指定資料庫

備份恢複角色

backup,retore:在進行備份、恢複時可以單獨指定的角色,在db.createUser()方法中roles裡面的db必須寫成是admin庫,要不然會 報錯

資料庫管理角色

dbAdmin:允許使用者在指定資料庫中執行管理函數,如索引建立、删除,檢視統計或通路system.profile

userAdmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、删除和管理使用者

叢集管理角色

clusterAdmin:隻在admin資料庫中可用,賦予使用者所有分片和複制集相關函數的管理權限。

所有資料庫角色

readAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的讀權限

readWriteAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的讀寫權限

userAdminAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的userAdmin權限,

dbAdminAnyDatabase:隻在admin資料庫中可用,賦予使用者所有資料庫的dbAdmin權限。

超級使用者角色

root:隻在admin資料庫中可用。超級賬号,超級權限

注:在有root賬号的前提下,可先在admin下驗證權限,然後再到相應資料庫去為其它賬号添權重限,此時可以不用在對應資料再庫執db.auth()

2.删除使用者

db.dropUser("userName")
           

3.修改使用者權限

db.grantRolesToUser(
   "accountUser01",
   [ "readWrite" , { role: "read", db: "stock" } ],
   { w: "majority" , wtimeout: 4000 }
)
           

4.修改使用者密碼

db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")
           

5.随機取N條資料

db.xxx.aggregate([$sample:{size:3}]);
           

6.資料庫相關

show dbs:顯示資料庫清單 
show collections:顯示目前資料庫中的集合(類似關系資料庫中的表) 
show users:顯示使用者
use <db name>:切換目前資料庫,這和MS-SQL裡面的意思一樣 
db.help():顯示資料庫操作指令,裡面有很多的指令 
db.foo.help():顯示集合操作指令,同樣有很多的指令,foo指的是目前資料庫下,一個叫foo的集合,并非真正意義上的指令 
db.foo.find():對于目前資料庫中的foo集合進行資料查找(由于沒有條件,會列出所有資料) 
db.foo.find( { a : 1 } ):對于目前資料庫中的foo集合進行查找,條件是資料中有一個屬性叫a,且a的值為1
           

7.多個資料庫使用同一個使用者

原則上mongodb一個資料庫隻能使用一個使用者進行連接配接,但如果要多個資料庫共用使用者,則隻能在兩個資料庫分别添加讀寫權限

db.createUser( { user: "test",
                 pwd: "test",
                 roles: [ {
                          "role" : "readWrite",
                          "db" : "test"
                        },
                        {
                          "role" : "readWrite",
                          "db" : "abc"
                         }] })
           

繼續閱讀