MongoDB基本命令操做

在上一篇隨筆中記錄瞭如何在Centos7上安裝MongoDB數據庫,這一篇咱們就一塊兒來學學基本的操做命令。mysql

安裝完成後,shell交互式下輸入mongo就能夠直接無密碼登陸到數據庫。linux

show dbs;                  #查看所有數據庫

show collections;          #顯示當前數據庫中的集合(相似關係數據庫中的表)

show users;                #查看當前數據庫的用戶信息

use <db name>;             #切換數據庫跟mysql同樣

db;或者db.getName();        #查看當前所在數據庫

db.help();                 #顯示數據庫操做命令,裏面有不少的命令 
db.foo.help();             #顯示集合操做命令,一樣有不少的命令,foo指的是當前數據庫下,一個叫foo的集合,並不是真正意義上的命令 
db.foo.find();             #對於當前數據庫中的foo集合進行數據查找(因爲沒有條件,會列出全部數據) 
db.foo.find( { a : 1 } );  #對於當前數據庫中的foo集合進行查找,條件是數據中有一個屬性叫a,且a的值爲1

 

建立一個test數據庫例子:sql

> use test;             #建立數據庫
switched to db test
> db;               
test
> show dbs;           #檢查數據庫
admin 0.000GB
local 0.000GB

> db.test.insert({"_id":"520","name":"xiaoming"})         #建立表

WriteResult({ "nInserted" : 1 })

> db.createUser({user:"xiaoming",pwd:"123456",roles:[{role:"userAdmin",db:"test"}]})        #建立用戶
Successfully added user: {
"user" : "xiaoming",
"roles" : [
{
"role" : "userAdmin",
"db" : "test"
}
]
}
db.removeUser("userName"); #刪除用戶
show users; #顯示當前全部用戶

db.dropDatabase();   #刪除當前使用數據庫mongodb

> show dbs;
admin 0.000GB
local 0.000GB
test 0.000GB
test_1 0.000GB

> db;
test_1

> db.dropDatabase();
{ "dropped" : "test_1", "ok" : 1 }


> show dbs;
admin 0.000GB
local 0.000GB
test 0.000GB

db.stats();             #顯示當前db狀態shell

> db.stats();
{
    "db" : "test_1",
    "collections" : 0,
    "views" : 0,
    "objects" : 0,
    "avgObjSize" : 0,
    "dataSize" : 0,
    "storageSize" : 0,
    "numExtents" : 0,
    "indexes" : 0,
    "indexSize" : 0,
    "fileSize" : 0,
    "ok" : 1
}

db.version();         #當前db版本數據庫

> db.version();
3.4.10

db.getMongo();     #查看當前db的連接機器地址服務器

> db.getMongo();
connection to 172.16.40.205:27017

mongodb find查詢文檔spa

基本語法:

db.表名.find({'key':'value'});

實例:

> show dbs;
admin 0.000GB
easy-mock 0.001GB
local 0.000GB
> use easy-mock
switched to db easy-mock
> db
easy-mock
> show collections;
groups
mock_counts
mocks
projects
user_group
user_project
users
> db.users.find({'name':'xiaoming'});
{ "_id" : ObjectId("5bc859307e81d95b15f67c5c"), "head_img" : "//img.souche.com/20161230/png/fd9f8aecab317e177655049a49b64d02.png", "nick_name" : "1539856688465", "password" : "$2a$08$7mAecPo6N8ATesAxfKrPG.wb10Ns.LfntUNkce7p2pAJ0kAvW3fPm", "name" : "xiaoming", "create_at" : ISODate("2018-10-18T09:58:08.465Z"), "__v" : 0 }

mongodb update修改文檔rest

# 查找name爲xiaoming的用戶,將用戶的密碼更改

> db.users.update({'name':'xiaoming'},{$set:{'password':'$2a$08$UIEXZ7uK1opggCsTkmE2buE.EuWjchH42GYDnPcEn0PL/Y5dVT7l2'}})

 > db.users.find({'name':'xiaoming'});
{ "_id" : ObjectId("5bc859307e81d95b15f67c5c"), "head_img" : "//img.souche.com/20161230/png/fd9f8aecab317e177655049a49b64d02.png", "nick_name" : "1539856688465", "password" : "$2a$08$UIEXZ7uK1opggCsTkmE2buE.EuWjchH42GYDnPcEn0PL/Y5dVT7l2", "name" : "xiaoming", "create_at" : ISODate("2018-10-18T09:58:08.465Z"), "__v" : 0 }code

開啓遠程訪問

編輯配置文件:vi /etc/mongod.conf
bindIp: 172.16.40.205      #數據庫所在服務器IP地址
保存重啓數據庫!
本地登陸:mongo 172.16.40.205/admin -uadmin -p123456
遠程登陸:
1. 下載mongodb壓縮包
mongodb-linux-x86_64-3.4.10.tgz
2. 解壓
> tar zxvf mongodb-linux-x86_64-3.4.10.tgz
3. 進入bin目錄
> cd mongodb-linux-x86_64-3.4.10/bin
4. 鏈接遠程數據庫
> ./mongo 172.16.40.205:27017/admin  -u user  -p  password
mongodDB備份與恢復
1、
mongodDB備份
【語法】:mongodump -h <dbhost> -d <dbname> -o <dbdirectory>
-h: MongDB所在服務器地址,例如:127.0.0.1或localhost,固然也能夠指定端口號:127.0.0.1:27017 -d: 須要備份的數據庫實例名,例如:users -o: 指定備份的數據存放的目錄位置,例如:/root/mongdbbak/,固然該目錄須要提早創建,在備份完成後,系統自動在/root/mongdbbak/目錄下創建一個users目錄,這個目錄裏面存放該數據庫實例的備份數據。數據形式是以JSON的格式文件存儲。 例如: mongodump -h localhost -d users -o /root/mongdbbak/
2、mongodDB恢復
【語法】:mongorestore -h <hostname><:port> -d dbname <path>

--host
<:port>, -h <:port>: MongoDB所在服務器地址,默認爲:localhost:27017 -d : 須要恢復的數據庫實例名,例如:users,固然這個名稱也能夠和備份時候的不同,好比user2 --drop: 恢復的時候,先刪除當前數據,而後恢復備份的數據。就是說,恢復後,備份後添加修改的數據都會被刪除,謹慎使用! --dir: 指定備份的目錄。 例如: mongorestore -h localhost -d users --dir /root/mongdbbak/users
感謝你們的支持!!!
相關文章
相關標籤/搜索