1. 程式人生 > 資料庫 >mongodb基本命令例項小結

mongodb基本命令例項小結

本文例項講述了mongodb基本命令。分享給大家供大家參考,具體如下:

1 切換資料庫

use admin;

2 檢視當前資料庫

db;

2.1 檢視所有資料庫

show dbs;

3 檢視當前資料庫下面的表

show collections;

4 刪除資料庫

use test;
db.dropDatabase(); #刪除當前資料庫
show dbs;  #驗證刪除結果

5 刪除集合或者表

db.table_name.drop(); #刪除表 table_name

6 檢視賬號資訊

mongo --port=23000
use admin;
db.auth('username','password')
db.system.users.find().pretty()  #檢視所有賬號資訊
show users; #檢視當前賬號資訊
db.getUser('username') #檢視指定使用者的資訊

7 使用gzip壓縮的方式備份與恢復,注意只要換個命令就行,後面的不變,這裡沒用設定使用者名稱和密碼

mongodump  --port=23000 --archive=/data/mongo_backup/testdb-2.20191203.gz --db testdb-2 --gzip
mongorestore --port=23000 --archive=/data/mongo_backup/testdb-2.20191203.gz --db testdb-2 --gzip
** 這種備份方式生成一個gzip檔案,解壓後也是一個檔案,將所有內容都放到一個檔案裡面

8 不壓縮的方式備份

mongodump --port=23000 --db=testdb-2 -o /data/mongo_backup/20191203
mongorestore --port=23000 --db=testdb-2 --drop /data/mongo_backup/20191203/testdb-2
**經過這種方式備份,每個表通常就兩個檔案:.bson和.metadata.json

9 在shell中使用mongo命令查詢

# 使用eval mongo ip:port/database --eval ""
[root@localhost ~]# mongo localhost:23000/testdb-2 --eval "printjson(db.table1.findOne())"
MongoDB shell version v3.6.13
connecting to: mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e87ef5ae-a6b7-47d6-a91c-65f3a0b81ac0") }
MongoDB server version: 3.6.13
{
  "_id" : ObjectId("5de60a767321940034390f16"),"id" : 129,"name" : "hehe"
}
#使用--quiet 去掉不必要的資訊
[root@localhost ~]# mongo localhost:23000/testdb-2 --quiet --eval "printjson(db.table2.findOne())"
{ "_id" : ObjectId("5de615b8eac07a724c6911b6"),"id" : 6,"name" : "hehe" }

#刪除表
[root@localhost ~]# mongo localhost:23000/testdb-2 --eval "db.table1.drop();"
MongoDB shell version v3.6.13
connecting to: mongodb://localhost:23000/testdb-2?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("0cf5b11f-c6ef-417c-8bbd-a2f8414f589c") }
MongoDB server version: 3.6.13
true

10 shell指令碼中使用mongo命令

#!/bin/bash
mongo localhost:23000/testdb-2 <<EOF
 var cursor=db.table2.find();
 while (cursor.hasNext()){
  var item = cursor.next();
  print(item.name);

 }
EOF

#傳參的方式
#!/bin/bash
table_name=$1
mongo localhost:23000/testdb-2 <<EOF
var cursor=db.${table_name}.find();
while (cursor.hasNext()){
var item = cursor.next();
print(item.name);

}
EOF

希望本文所述對大家MongoDB資料庫程式設計有所幫助。