MongoDB的基本操作主要是對數(shù)據(jù)庫、集合、文檔的操作,包括創(chuàng)建數(shù)據(jù)庫、刪除數(shù)據(jù)庫、插入文檔、更改文檔、刪除文檔、和查詢文檔。
創(chuàng)新互聯(lián)是一家專業(yè)提供晉江企業(yè)網(wǎng)站建設,專注與網(wǎng)站設計制作、成都網(wǎng)站建設、H5建站、小程序制作等業(yè)務。10年已為晉江眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設計公司優(yōu)惠進行中。
操作 | 描述 |
---|---|
show dbs | 查看當前實例下的數(shù)據(jù)庫列表 |
show users | 顯示用戶 |
use |
切換當前數(shù)據(jù)庫 |
db.help() | 顯示數(shù)據(jù)庫操作命令 |
show.collections | 顯示當前數(shù)據(jù)庫中的集合 |
db.foo.help() | 顯示集合操作命令,foo是當前數(shù)據(jù)庫下的集合 |
db.foo.find() | 對當前數(shù)據(jù)庫中foo集合進行數(shù)據(jù)查找 |
#創(chuàng)建數(shù)據(jù)庫testdb數(shù)據(jù)庫,使用以下語句
mongos> use testdb;
#查詢數(shù)據(jù)庫,要顯示數(shù)據(jù)庫必須插入至少一條文檔
mongos> show dbs;
#插入數(shù)據(jù)文檔
mongos> db.tablename.insert({"name":"antian"});
#數(shù)據(jù)庫生成了
mongos> show dbs;
testdb 0.078GB
#查詢數(shù)據(jù)庫
mongos> show dbs;
testdb 0.078GB
#進入數(shù)據(jù)庫
mongos> use testdb;
#刪除數(shù)據(jù)庫
mongos> db.dropDatabase();
{ "dropped" : "testdb", "ok" : 1 }
#查詢數(shù)據(jù)庫
mongos> show dbs;
#創(chuàng)建集合
#進入數(shù)據(jù)庫
mongos> use testdb;
#創(chuàng)建集合
mongos> db.createCollection("mycollection")
mongos> show tables;
mycollection
#刪除集合
#進入數(shù)據(jù)庫
mongos> use testdb;
mongos> show tables;
mycollection
mongos> db.mycollection.drop();
true
mongos> show tables;
#插入文檔
#插入一條文檔
mongos> db.tablesname.insert([{"name":"aaaaa","age":"18"}
#插入兩條文檔
mongos> db.tablesname.insert([{"name":"ddddd","age":"18"},{"name":"eeee","age":"10"}]);
#查詢一個文檔:
mongos> db.tablesname.findOne();
mongoimport命令可以把一個特定格式文件中的內(nèi)容導入到指定的collection中。該工具可以導入JSON格式數(shù)據(jù),也可以導入CSV格式的數(shù)據(jù)。
mongoexport命令可以把一個collection導出成JSON格式或CSV格式的文件??梢酝ㄟ^參數(shù)指定導出的數(shù)據(jù)項,也可以根據(jù)指定的條件導出數(shù)據(jù)。
參數(shù)說明:
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i}) //循環(huán)寫入100條數(shù)據(jù)
mongoexport -d school -c info -o /opt/info.json //導出
mongoimport -d school -c info1 --file /opt/info.json //導入到info集合
mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json //條件導出指定第10行
備份:mongodump
恢復:mongorestore
參數(shù)說明:
mkdir /backup //創(chuàng)建存放目錄
mongodump -d abc -o /backup/ //備份abc數(shù)據(jù)庫
mongorestore -d abc123 --dir=/backup/abc //恢復到abc123數(shù)據(jù)庫
db.copyDatabase
>db.copyDatabase("abc","abc1") //復制數(shù)據(jù)庫abc生成abc1
runCommand
將abc中的info集合克隆到實例2
mongo --port 27018 //進入實例2
db.runCommand({"cloneCollection":"abc.info","from":"192.168.100.152:27017"})
可以配置授權用戶來訪問MongoDB,啟動時必須指定auth=true,否則授權不起作用。
可以將用戶加入到角色,內(nèi)置數(shù)據(jù)庫用戶角色包括:read、readWrite,數(shù)據(jù)庫管理角色包括:dbAdmin、dbOwner、useAdmin,超級用戶角色為root。
vim /usr/bin/mongodb1.conf
......
auth=true
......
mongo
>use admin
>db.createUser({"zx":"root","pwd":"123","roles":"[root"]}) //創(chuàng)建用戶zx,密碼為123,分配到root角色
>db.auth("root","123") //驗證用戶
然后在瀏覽器中通過http://localhost:28017 進行訪問。通過Web頁面可以看到: