溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mongodb有哪些基本命令

發(fā)布時間:2021-05-26 10:27:38 來源:億速云 閱讀:145 作者:Leah 欄目:MongoDB數(shù)據(jù)庫

mongodb有哪些基本命令?相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

1 切換數(shù)據(jù)庫

use admin;

2 查看當(dāng)前數(shù)據(jù)庫

db;

2.1 查看所有數(shù)據(jù)庫

show dbs;

3 查看當(dāng)前數(shù)據(jù)庫下面的表

show collections;

4 刪除數(shù)據(jù)庫

use test;
db.dropDatabase(); #刪除當(dāng)前數(shù)據(jù)庫
show dbs;  #驗(yàn)證刪除結(jié)果

5 刪除集合或者表

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

6 查看賬號信息

mongo --port=23000
use admin;
db.auth('username','password')
db.system.users.find().pretty()  #查看所有賬號信息
show users; #查看當(dāng)前賬號信息
db.getUser('username') #查看指定用戶的信息

7 使用gzip壓縮的方式備份與恢復(fù),注意只要換個命令就行,后面的不變,這里沒用設(shè)置用戶名和密碼

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文件,解壓后也是一個文件,將所有內(nèi)容都放到一個文件里面

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
**經(jīng)過這種方式備份,每個表通常就兩個文件:.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

看完上述內(nèi)容,你們掌握mongodb有哪些基本命令的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI