真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mongo語(yǔ)句大全

一、基礎(chǔ)語(yǔ)句

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的邯鄲網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

1.創(chuàng)建數(shù)據(jù)庫(kù)并查看當(dāng)前數(shù)據(jù)庫(kù)

     > use wang

     > db


2.查看數(shù)據(jù)庫(kù)的版本

    > db.version()


3.刪除數(shù)據(jù)庫(kù)

     > use wang

     > db.dropDatabase()


4.插入文檔

     > db.test.insert({ id : 1 , "name " : "wangchongyang" ,"age" : 19, " hobby":" read "})


5.更新文檔

     > db.test.update({id:1},{$set:{ id : 11}})


6.刪除文檔

     > db.test.remove({ id : 11})


7.查詢(xún)文檔

     > db.test.find()

     > db.test.findOne()

     > db.test.find({ id : 11})


8.文檔排序

     > db.test.find().sort().sort({ "id" : 1})          1 升序,-1 降序

9.創(chuàng)建索引

     > db.test.ensureIndex({ id : 1 })                1 按升序創(chuàng)建索引   -1降序

10.刪除索引

     > db.test.dropIndex( id )

11.聚合

     > db.test.aggregate({ $group : { _id: "name",num : { $num : 1 }} })

12.備份與恢復(fù)

      mongodump -h  127.0.0.1:27017 -d  test  -o  /tmp/mongo_backup

     

     mongorestore -d  test /tmp/mongo_backup/*


13.去掉重復(fù)數(shù)據(jù)

     > db.test.distinct( ' name' )


二、集合語(yǔ)句指導(dǎo)

1.查看集合幫助

     db.test.help()

2.查看集合總數(shù)量

     db.test.count()

3.查看表空間大小

     db.test.dataSize()

4.查看集合所在的數(shù)據(jù)庫(kù)

     db.test.getDB()


5.查看當(dāng)前集合狀態(tài)

     db.test.stats()

6. 集合重命名

     db.test.renameCollection("testdb")


7.刪除集合

     db.testdb.drop()

8. 查看當(dāng)前數(shù)據(jù)庫(kù)所有集合

   db.getCollectionNames()


9. 查看所有集合的狀態(tài)

     db.printCollectionStats();


10.現(xiàn)有表以及數(shù)據(jù)添加字段

     db.test.update({}, {$set:{nFlagState:0}}, false, true);


11.查看當(dāng)前連接數(shù)

     db.serverStatus().connections


三、復(fù)制以及分片語(yǔ)句

1. 配置MongoDB 集群中一個(gè)Replica Sets模式的shard,并初始化

     config = {_id: 'shard4', members: [

             {_id: 0, host: '10.181.49.224:27001'},

             {_id: 1, host: '10.181.49.221:27002'},

             {_id: 2, host: '10.181.49.222:27003'}]

           }

     rs.initiate(config)


2. 將一個(gè)shard 加入到集群中

     db.runCommand({addshard:"shard4/10.181.49.224:27001,10.181.49.221:27002,10.181.49.224:27002",name:"shard2"})


3. 查看shard 信息

     db.runCommand({listshards:1})

4. 將一個(gè)庫(kù)使用shard

     db.runCommand({ enablesharding:"okooo" })


5. 查看replica set  的狀態(tài)

      rs.status()  

 state字段說(shuō)明

0Starting up, phase 1
1Primary
2Secondary
3Recovering
4Fatal error
5Starting up, phase 2
6Unknown state
7Arbiter
8Down

heath字段說(shuō)明

0Server is down
1Server is up

6. 查看replica set   中是否是主節(jié)點(diǎn)

     rs.isMaster()

7.查看當(dāng)前數(shù)據(jù)庫(kù)的數(shù)據(jù)同步狀態(tài)

     db.printReplicationInfo()


8. 查看整個(gè)shard的同步狀態(tài)

     db.printSlaveReplicationInfo()


9. 當(dāng)前運(yùn)行的進(jìn)程

     db.currentOp();

10. 看數(shù)據(jù)庫(kù)信息

     db.stats()

11. 看數(shù)據(jù)實(shí)例信息

     db.serverStatus()

12. (在主庫(kù)上執(zhí)行)增加一個(gè)從庫(kù)

     rs.add("192.168.8.226:27004")

13. (在主庫(kù)上執(zhí)行)減少一個(gè)從庫(kù)

     rs.remove("192.168.8.226:27004")

14. 看表的狀態(tài) 

     db.users.stats()


15. 看shard 狀態(tài)

     db.printShardingStatus()     

     db.printShardingStatus( true )  

 

16. 對(duì)已有的表進(jìn)行shard

     db.runCommand({ shardcollection: "test.users_2", key: { _id:1 }})             --users_2表根據(jù)_id 鍵分區(qū)

17. 移除一個(gè)shard 

     db.runCommand({"removeshard" : "localhost:20002"});

18.  從庫(kù)支持查詢(xún)

     db.getMongo().setSlaveOk()

19. 查看慢查詢(xún)

     db.system.profile.find()

20. 打開(kāi)profile

     打開(kāi)profile有兩種

     一種直接在啟動(dòng)參數(shù)里直接設(shè)置,啟動(dòng) MongoDB時(shí)加上  --profile=級(jí)別即可。

     另一種就是客服端調(diào)用后db.setProfilingLevel(級(jí)別,秒數(shù)) ,但是這只影響本次會(huì)話。

21.啟用分片

      db.adminCommand({"enableSharding" : "blog"})            在blog 庫(kù)上建立sharding

22.在blog庫(kù)上的posts表上利用date和author兩個(gè)字段建立sharding

     db.adminCommand({"shardCollection" : "blog.posts", key : {"date" : 1, "author" : 1}}   



四、用戶管理

     

          MongoDB 默認(rèn)的啟動(dòng)是不驗(yàn)證用戶名和密碼的,啟動(dòng)MongoDB 后,可以直接用MongoDB 連接上來(lái),對(duì)所有的庫(kù)具有root 權(quán)限。所以啟動(dòng)的時(shí)候指定參數(shù),可以阻止客戶端的訪問(wèn)和連接。

          

            先啟用系統(tǒng)的登錄驗(yàn)證模塊, 只需在啟動(dòng)時(shí)指定 auth 參數(shù)即可,如:

          [root@template ~]#  mongod --auth

          [root@template ~]# mongo

          MongoDB shell version: 2.6.0

          connecting to: test

          >


          在最初始的時(shí)候 MongoDB 都默認(rèn)有一個(gè) admin 數(shù)據(jù)庫(kù)(默認(rèn)是空的),而 admin.system.users 中將會(huì)保存比在其它數(shù)據(jù)庫(kù)中設(shè)置的用戶權(quán)限更大的用戶信息。

          注意:當(dāng) admin.system.users 中沒(méi)有添加任何用戶時(shí),即使 MongoDB 啟動(dòng)時(shí)添加了 --auth參數(shù),如果在除 admin 數(shù)據(jù)庫(kù)中添加了用戶,此時(shí)不進(jìn)行任何認(rèn)證依然可以使用任何操作,直到知道你在 admin.system.users 中添加了一個(gè)用戶。


1.建立系統(tǒng)root用戶

> show dbs

admin  (empty)

local  0.078GB

> use admin

switched to db admin

> db.createUser({user:"gyw",pwd:"123456",roles:[{role:"root",db:"admin"}]})

Successfully added user: {

        "user" : "gyw",

        "roles" : [

                {

                        "role" : "root",

                        "db" : "admin"

                }

        ]

}

> show dbs

2016-07-29T09:19:32.668+0800 listDatabases failed:{

        "ok" : 0,

        "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",

        "code" : 13

} at src/mongo/shell/mongo.js:47

提示沒(méi)有權(quán)限失敗

重新以認(rèn)證的方式登錄數(shù)據(jù)庫(kù)

mongo --port 27017 -u gyw -p 123456 --authenticationDatabase admin

MongoDB shell version: 2.6.0

connecting to: 127.0.0.1:27017/test

> use admin

switched to db admin

> db.system.users.find()

{ "_id" : "admin.gyw", "user" : "gyw", "db" : "admin", "credentials" : { "MONGODB-CR" : "871b1cf91cd1ebb7acf0f4040af47979" }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

2.創(chuàng)建單庫(kù)最大權(quán)限用戶

> use test

switched to db test

> db.test.insert({id:1,name:"mi"})

WriteResult({ "nInserted" : 1 })

> db.createUser({user:"wjb",pwd:"123456",roles:[{role:"dbOwner",db:"test"}]})

Successfully added user: {

        "user" : "wjb",

        "roles" : [

                {

                        "role" : "dbOwner",

                        "db" : "test"

                }

        ]

}

> use admin

switched to db admin

> db.system.users.find()

{ "_id" : "admin.gyw", "user" : "gyw", "db" : "admin", "credentials" : { "MONGODB-CR" : "871b1cf91cd1ebb7acf0f4040af47979" }, "roles" : [ { "role" : "root", "db" : "admin" } ] }

{ "_id" : "test.wjb", "user" : "wjb", "db" : "test", "credentials" : { "MONGODB-CR" : "3ec31d8a58e61f450c5988b546dfde4b" }, "roles" : [ { "role" : "dbOwner", "db" : "test" } ] }

我們無(wú)權(quán)限認(rèn)證登錄看能否訪問(wèn)test數(shù)據(jù)庫(kù)

[root@template 27017]# mongo --port 27017

MongoDB shell version: 2.6.0

connecting to: 127.0.0.1:27017/test

Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }

> use test

switched to db test

> show collections

2016-07-29T09:26:17.440+0800 error: {

        "$err" : "not authorized for query on test.system.namespaces",

        "code" : 13

} at src/mongo/shell/query.js:131

可以發(fā)現(xiàn)提示我們沒(méi)有權(quán)限

通過(guò)權(quán)限認(rèn)證登錄

[root@template 27017]# mongo --port 27017 -u wjb -p 123456 --authenticationDatabase test

MongoDB shell version: 2.6.0

connecting to: 127.0.0.1:27017/test

Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }

> use test

switched to db test

> show collections

system.indexes

test

下方列出系統(tǒng)內(nèi)置角色名稱(chēng):

Database User Roles 普通用戶角色

read

readWrite

Database Administration Roles 管理員角色

dbAdmin        可以管理數(shù)據(jù)庫(kù)

dbOwner        單數(shù)據(jù)庫(kù)最大權(quán)限,dbAdmin,userAdmin

userAdmin     可管理當(dāng)前數(shù)據(jù)庫(kù)用戶

Cluster Administration Roles  管理員角色

clusterAdmin

clusterManager

clusterMonitor

hostManager

Backup and Restoration Roles  備份和恢復(fù)角色

backup

restore

All-Database Roles 所有數(shù)據(jù)庫(kù)角色

readAnyDatabase       在admin下建立,可以讀取所有數(shù)據(jù)庫(kù)的信息

readWriteAnyDatabase  在admin下建立,可以讀寫(xiě)所有數(shù)據(jù)庫(kù)的信息

userAdminAnyDatabase  在admin下建立,可以管理所有數(shù)據(jù)庫(kù)的用戶

dbAdminAnyDatabase    在admin下建立,可以管理所有數(shù)據(jù)庫(kù)的信息(類(lèi)似于所有數(shù)據(jù)庫(kù)的dbAdmin賬戶)


Superuser Roles ()

root





新聞名稱(chēng):mongo語(yǔ)句大全
文章源于:http://weahome.cn/article/gjishj.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部