1. 程式人生 > >MongoDB基本命令歸納

MongoDB基本命令歸納

普及MongoDB一些知識

預設監聽埠號 27017/28017

程序名 mongod mongo

資料傳輸協議 TCP

資料庫目錄 /data/db

服務名 mongodb

一、軟體安裝

1) 下載完安裝包,並解壓 tgz(以下演示的是 64 位 Linux上的安裝)

[email protected]:~$ sudo wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
--2018-01-31 18:31:39--  https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
Resolving fastdl.mongodb.org (fastdl.mongodb.org)... 54.192.212.129, 54.192.212.164, 54.192.212.115, ...
Connecting to fastdl.mongodb.org (fastdl.mongodb.org)|54.192.212.129|:443... failed: Connection refused.
Connecting to fastdl.mongodb.org (fastdl.mongodb.org)|54.192.212.164|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 40282490 (38M) [application/x-gzip]
Saving to: 
mongodb-linux-x86_64-3.0.6.tgz mongodb-linux-x86_64-3.0.6.tgz 100%[====================================================>] 38.42M 45.8KB/s in 9m 52s 2018-01-31 18:41:54 (66.5 KB/s) - mongodb-linux-x86_64-3.0.6.tgz saved [40282490/40282490]

2) 解壓軟體包

[email protected]:~$ sudo tar -xf /opt/mongodb-linux-x86_64-3.0.6.tgz

3) 將解壓包拷貝到指定目錄

  [email protected]:~$ sudo mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
** MongoDB 的可執行檔案位於 bin 目錄下,所以可以將其新增到 PATH 路徑中:
  [email protected]:~$ sudo export PATH=/usr/local/mongodb/bin:$PATH

二、建立資料庫目錄

1) MongoDB的資料儲存在data目錄的db目錄下,但是這個目錄在安裝過程不會自動建立,所以你需要手動建立data目錄,並在data目錄中建立db目錄。

** 以下例項中我們將data目錄創建於根目錄下(/)。

** 注意:/data/db 是 MongoDB 預設的啟動的資料庫路徑(--dbpath)。

[email protected]:~$ mkdir -p /data/db
[email protected]:~$ sudo cd /usr/local/mongodb/bin/
[email protected]:~$ sudo ./mongod
2018-02-01T10:45:49.238+0800 I STORAGE  [initandlisten] 
2018-02-01T10:45:49.238+0800 I STORAGE  [initandlisten] ** WARNING: Readahead for /data/db is set to 4096KB
2018-02-01T10:45:49.238+0800 I STORAGE  [initandlisten] **          We suggest setting it to 256KB (512 sectors) or less
2018-02-01T10:45:49.238+0800 I STORAGE  [initandlisten] **          http://dochub.mongodb.org/core/readahead
2018-02-01T10:45:49.238+0800 I JOURNAL  [initandlisten] journal dir=/data/db/journal
2018-02-01T10:45:49.238+0800 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2018-02-01T10:45:49.277+0800 I JOURNAL  [durability] Durability thread started
。。。。。。。

三、命令列中執行 MongoDB 服務

1) 你可以再命令列中執行mongo安裝目錄中的bin目錄執行mongod命令來啟動mongdb服務

[email protected]:~$ sudo ./mongo
MongoDB shell version: 3.0.6
connecting to: test
Welcome to the MongoDB shell.
。。。。。。。

2) MongoDB後臺管理 Shell

** 如果你需要進入MongoDB後臺管理,你需要先開啟mongodb裝目錄的下的bin目錄,然後執行mongo命令檔案。

** MongoDB Shell是MongoDB自帶的互動式Javascript shell,用來對MongoDB進行操作和管理的互動式環境。

** 當你進入mongoDB後臺後,它預設會連結到 test 文件(資料庫):

[email protected]:~$ sudo cd /usr/local/mongodb/bin 
[email protected]:~$ sudo ./mongo MongoDB shell version: 3.0.6 
connecting to: test Welcome to the MongoDB shell. ……

3) 由於它是一個JavaScript shell,您可以執行一些簡單的算術運算:

> 2+2
4
> 3+6
9

4) 現在讓我們插入一些簡單的資料,並對插入的資料進行檢索:

> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5a7280e615a8f7a4cd7bf532"), "x" : 10 }
第一個命令將數字 10 插入到 runoob 集合的 x 欄位中。

四、MongoDb web 使用者介面

1) MongoDB 提供了簡單的 HTTP 使用者介面。

** 如果你想啟用該功能,需要在啟動的時候指定引數 --rest

[email protected]:~$ sudo ./mongod --dbpath=/data/db --rest
2018-02-01T10:54:06.272+0800 I CONTROL  ** WARNING: --rest is specified without --httpinterface,
2018-02-01T10:54:06.272+0800 I CONTROL  **          enabling http interface
2018-02-01T10:54:06.336+0800 I STORAGE  [initandlisten] 

*** MongoDB 的 Web 介面訪問埠比服務的埠多1000。

2) 如果你的MongoDB執行埠使用預設的27017,你可以在埠號為28017訪問web使用者介面,即地址為:http://localhost:28017

所有的增加的命令

五、mongoDB的連線

1) 使用預設埠來連線 MongoDB 的服務。

> mongodb://localhost

*** 通過 shell 連線 MongoDB 服務:

[email protected]:~$ sudo ./mongo
MongoDB shell version: 3.0.6
connecting to: test
... 

*** 這時候你返回檢視執行 ./mongod 命令的視窗,可以看到是從哪裡連線到MongoDB的伺服器,您可以看到如下資訊:

……省略資訊……
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/data/db" } }
2015-09-25T17:22:27.350+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
2015-09-25T17:22:36.012+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37310 #1 (1 connection now open)  # 
該行表明一個來自本機的連線
……省略資訊……

2) MongoDB 連線命令格式

** 使用使用者名稱和密碼連線到 MongoDB 伺服器,你必須使用 'username:[email protected]/dbname' 格式,'username'為使用者名稱,'password' 為密碼。

** 使用使用者名稱和密碼連線登陸到預設資料庫:

[email protected]:~$ sudo ./mongo
MongoDB shell version: 3.0.6
connecting to: test

** 使用使用者 admin 使用密碼 123456 連線到本地的 MongoDB 服務上。輸出結果如下所示:

> mongodb://admin:[email protected]/
... 

** 使用使用者名稱和密碼連線登陸到指定資料庫,格式如下:

> mongodb://admin:[email protected]/test

** 更多連線例項 ** 連線本地資料庫伺服器,埠是預設的。

> mongodb://localhost

** 使用使用者名稱fred,密碼foobar登入localhost的admin資料庫。

> mongodb://fred:[email protected]

** 使用使用者名稱fred,密碼foobar登入localhost的baz資料庫。

> mongodb://fred:[email protected]/baz

** 連線 replica pair, 伺服器1為example1.com伺服器2為example2。

> mongodb://example1.com:27017,example2.com:27017

** 連線 replica set 三臺伺服器 (埠 27017, 27018, 和27019):

> mongodb://localhost,localhost:27018,localhost:27019

** 連線 replica set 三臺伺服器, 寫入操作應用在主伺服器 並且分佈查詢到從伺服器。

> mongodb://host1,host2,host3/?slaveOk=true

** 直接連線第一個伺服器,無論是replica set一部分或者主伺服器或者從伺服器。

> mongodb://host1,host2,host3/?connect=direct;slaveOk=true

** 當你的連線伺服器有優先順序,還需要列出所有伺服器,你可以使用上述連線方式。 安全模式連線到localhost:

> mongodb://localhost/?safe=true

** 以安全模式連線到replica set,並且等待至少兩個複製伺服器成功寫入,超時時間設定為2秒。

> mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000

1).建立資料庫、表

建立一個庫/切換庫,庫存在則切換,不存在則建立並切換
> use runoob
switched to db runoob
> db
runoob
> 
檢視所有庫
> show dbs
local  0.078GB
test   0.078GB
> 
可以看到,我們剛建立的資料庫 runoob 並不在資料庫的列表中, 要顯示它,我們需要向 runoob 資料庫插入一些資料。
> db.runoob.insert({"name":"菜鳥教程"})
WriteResult({ "nInserted" : 1 })
> show dbs
local   0.078GB
runoob  0.078GB
test    0.078GB
> 
建立一個表
> db.runoob.insert({"name":"菜鳥教程"})
WriteResult({ "nInserted" : 1 })

建立一個主鍵的可自動增長非負的欄位的表

建立一個時間等特定欄位的表

建立含datetime 與 timestamp 的當未給TIMESTAMP欄位賦值時,自動以當前系統時間賦值,而DATETIME欄位預設賦值為 NULL的表

建立含enum(值1,值2,值N) 只能在列舉的範圍內選擇一個值set(值1,值2,值N) 能在列舉的範圍內選擇一個或多個值,以及浮點數的表

新增一個auto_increment初始值的表

#指定第一條的編號從多少開始 2).新增表資料

插入文件記錄的注意事項 MongoDB 使用 insert() 或 save() 方法向集合中插入文件,語法如下:

db.COLLECTION_NAME.insert(document)

以下文件可以儲存在 MongoDB 的 runoob 資料庫 的 col 集合中:

>db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一個 Nosql 資料庫',
    by: '菜鳥教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

** col 是我們的集合名,如果該集合不在該資料庫中, MongoDB 會自動建立該集合並插入文件

新增單條資料

同時新增多條資料

同時向特定欄位新增多條資料

建表時建立主鍵

建立主鍵 primary key 一個表裡只能有一個主鍵,欄位值不允許重複且不允許賦null值;若多個欄位做主鍵叫複合主鍵,複合主鍵必須一起建立(欄位的值不允許同時相同)。和auto_increment連用,讓欄位的值自動增長 欄位的值自加1後給當前欄位賦值 通常把表中能夠唯一定位一條記錄的欄位設定為主鍵欄位。

在已有表裡建立主鍵

建立外來鍵 foreign key

1 表的儲存引擎必須是innodb 2 欄位的型別要一致 3 被參考的欄位必須是key 的一種(primary key) 建立父表並插入資料

建立子表

使用外來鍵時的注意事項:

當一個表被參考時 ,表和被參考的欄位都不允許刪除 一個表裡可以有多個外來鍵欄位。 一個父表可以被多個子表參考 所有的刪除命令

刪除欄位名

刪除主鍵

刪除表結構

刪除外來鍵:

2).刪除表記錄(以行為刪除單位)

刪除與條件匹配的記錄 delete from 庫名.表名 where 條件;

刪除所有記錄。

所有的修改命令

1).改名字

修改欄位名

修改表名

3).修改表結構

新增至欄位之首

新增至指定欄位後面

一次新增多個欄位

3).修改表資料 ** update() 方法用於更新已存在的文件。語法格式如下:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

引數說明:

** query : update的查詢條件,類似sql update查詢內where後面的。

** update : update的物件和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內set後面的

** upsert : 可選,這個引數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。

** multi : 可選,mongodb 預設是false,只更新找到的第一條記錄,如果這個引數為true,就把按條件查出來多條記錄全部更新。

** writeConcern :可選,丟擲異常的級別。 集合 col 中插入如下資料:

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一個 Nosql 資料庫',
    by: '菜鳥教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

通過 update() 方法來更新標題(title):

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })    

#輸出資訊

> db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一個 Nosql 資料庫",
        
            
           

相關推薦

MongoDB基本命令歸納

普及MongoDB一些知識預設監聽埠號 27017/28017程序名 mongod mongo資料傳輸協議 TCP資料庫目錄 /data/db服務名 mongodb一、軟體安裝1) 下載完安裝包,並解壓 tgz(以下演示的是 64 位 Linux上的安裝)[email

Mongodb學習筆記二(Mongodb基本命令)

完全匹配 kail .html hit exists col 引號 getc 替換 第二章 基本命令 一、Mongodb命令 說明:Mongodb命令是區分大小寫的,使用的命名規則是駝峰命名法。 對於database和collection無需主動創建,在插入數據時,如

MongoDB基本命令

eset mon 集合 版本信息 長度 () pin 命名 AC 成功啟動MongoDB後,再打開一個命令行窗口輸入mongo,就可以進行數據庫的一些操作。 輸入help可以看到基本操作命令: show dbs:顯示數據庫列表 show collections:顯示當前數據

MongoDB基本命令操作

col 本地 entos mys local ted shell 保存 stats 在上一篇隨筆中記錄了如何在Centos7上安裝MongoDB數據庫,這一篇我們就一起來學學基本的操作命令。 安裝完成後,shell交互式下輸入mongo就可以直接無密碼登錄到數據庫。 sh

mongodb基本命令

常用 其他 DDU 數據查找 年齡 lba opd 切換 ons 成功啟動MongoDB後,再打開一個命令行窗口輸入mongo,就可以進行數據庫的一些操作。 輸入help可以看到基本操作命令: show dbs:顯示數據庫列表 show collections:顯示當前

mongodb基本命令操作介紹

專案中有些時候會存一些非結構化的文件型資料,可以用mongodb進行儲存。 常用的mongodb的基本操作命令: 首先啟動mongodb服務,並進入mongodb的客戶端命令列介面 一、顯示所有的庫Database命令: show databases; 如圖示 二、使用進入某個Da

python爬蟲Scrapy(一)-我爬了boss資料 MongoDB基本命令操作

一、概述     學習python有一段時間了,最近了解了下Python的入門爬蟲框架Scrapy,參考了文章Python爬蟲框架Scrapy入門。本篇文章屬於初學經驗記錄,比較簡單,適合剛學習爬蟲的小夥伴。    這次我選擇爬取的是boss直聘來資料,畢竟這個網站的

Mongodb 基本命令

啟動相關 資料庫命令 1、Help檢視命令提示 help db.help(); db.yourColl.help(); db.youColl.find().help(); rs.help(); 2、切換/建立資料庫 use yourDB; 當建立一個集合(table)的時候會自動建立當前資料

Node/MongoDB 基本命令列彙總

1.通過npm全域性安裝專案依賴模組 命令列:npm install  模組名稱 -g 成功提示:  (模組名稱)@(版本號)(模組的存放路徑) 2.搜尋模組 命令列: npm search 模組名 3.檢視模組API 命令列: npm docs 模組名稱 4.

mongodb基本命令和Java操作API示例

1.Mongo3.2 java API示例:http://www.cnblogs.com/zhangchaoyang/articles/5146508.html2.MongoDB基本命:http://www.cnblogs.com/xusir/archive/2012/12/

資料庫【mongodb篇】基本命令學習筆記 MongoDB基本命令MongoDB基本命令

MongoDB基本命令用 MongoDB基本命令用   成功啟動MongoDB後,再開啟一個命令列視窗輸入mongo,就可以進行資料庫的一些操作。 輸入help可以看到基本操作命令: show dbs

MongoDB基本命令(轉)

MongoDB基本命令(轉,因為怕原貼被刪了自己存一個) 成功啟動MongoDB後,再開啟一個命令列視窗輸入mongo,就可以進行資料庫的一些操作。 輸入help可以看到基本操作命令: show dbs:顯示資料庫列表 show collections:

MongoDB 基本命令備忘

mina 顯示數據 ODB 數據 索引 users clu base 權限 使用admin數據庫: use admin 顯示數據庫: show dbs 創建用戶,並制定該用戶的角色: db.createUser({user: "root",pwd:"123456",role

Mongodb-基本命令

1.回顧:上篇已經學習過 Mongodb的安裝的兩種方式 2.這篇將學習 mongodb的基本命令 3.準備 :安裝好mongodb後,需要先開啟mongodb服務,後開啟一個客戶端 (cmd操作) 4.建立資料庫,物件和集合     4.1 新建資料庫  db use s

mongodb基本命令列操作

mongodb建立資料庫 use dbname mongodb檢視資料庫 show dbs 檢視資料庫下面的表 show collections 查詢表裡的資料 db.表名.find() mongodb向表裡插入一條資料 ./mongofiles -d camp

MongoDB基本命令---來自半瓶子

成功啟動MongoDB後,再開啟一個命令列視窗輸入mongo,就可以進行資料庫的一些操作。 輸入help可以看到基本操作命令: show dbs:顯示資料庫列表  show collections:顯示當前資料庫中的集合(類似關係資料庫中的表)  show users:顯示使用者 use <db na

MongoDB基本管理命令

sdn details mongod clas 使用 lan top www. net MongoDB基本管理命令 MongoDB基本使用MongoDB基本管理命令

MongoDB基本操作命令大全

基本操作命令 進行 sch 查看 ons port list 自動 情況 MongoDB是一個介於關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。MongoDB的操作和mysql中的操作很相像,使用過mysql的人群也能很快的適應Mong

ubuntu 安裝mongodb基本命令

1 更新 sudo apt-get update 2 安裝mongodb sudo apt-get install mongodb 3 啟動  停止  重啟 sudo service mongodb start sudo service mongodb st

mongoDB的一些基本命令操作

1、建立連結(bin路徑下)    mongo host:port/dbname -u username -p password 2、檢視當前db的連結機器地址 db.getMongo() 3、檢視mongoDB版本    db.version() 4、顯示當前d