mongodb 基本指令學習


啟動 : 1)創建一個文件夾存放mongodb的數據  啟動的時候指定這個文件夾為存儲mongodb的存儲路徑  我的目錄是D:\data  

2)啟動mongodb服務  進入安裝mongodb的bin目錄 輸入 mongod --dbpath=path     這里的path是你剛才創建的存儲數據的路徑

如果未添加端口默認的端口是 27017   你也可以為你的mongodb服務指定一個特定的端口 通過下面的指令

mongod --dppath dbpath --port port  2016.4.19 

此時我們mongodb服務的端口已經在27000啟動了,這個窗口一直開啟着

3)連接數據庫  我們需要重新打開一個控制台   通過如下的命令連接數據庫  mongo ip:port 

由於我們連接的就是我們本機的數據庫服務  不需要輸入ip    由於上面我們配置的是mongodb的服務在27000端口啟動 所以我們要通過下面的指令來連接數據庫

mongo --port 27000

這樣我們就連接上了數據庫(當我們需要連接遠程的數據庫的時候 就需要ip這個條件了)

你也許考慮每次啟動服務都要去設置路徑感覺好煩 而且我們根本沒有在我們啟動的時候對mongodb做任何的設置 都是默認的 配置文件這個詞就出現在腦海了 

讀取配置文件啟動

1)首先你需要創建這個配置文件  我是在D:\data下 的mongodb.conf  (不同的數據目錄下配置不同的conf文件 實現不同的配置)

2)編寫conf 你可以通過在mongod --help 查看能配置的屬性  這些屬性都是通過鍵值對的方式進行配置的

下面是我的配置文件的內容 

dbpath=D:\data  //數據存儲的路徑
logpath=D:\data\log\log.log //日志文件存儲的路徑
logappend=  //日志文件添加的方式累加  這個沒有參數值 所以為空
journal=  //啟動日志 沒有參數值 為空
port=27000 // 啟動的端口號

3)讀取配置文件啟動mongodb服務   mongo -f args  args就是你配置文件的位置

你會發現這樣的方式啟動的話,怎么在控制台沒有什么反應呀 就是一個光標 其實我也以為沒啟動  此時你打開我們配置的日志文件的目錄 會發現里面log出了信息

通過日志文件的路徑  端口號27000 發現的確是通過我們的配置文件啟動的mongodb服務

3)連接數據庫 同控制台啟動的指令    這樣我們就連接上了我們的數據庫

基本操作

首先我們先學習幾個基本的關於數據庫的指令 

db.version()  這個是輸出數據庫的版本信息

db.stats() 數據庫的狀態 

上面可以看出我的mongodb的版本是2.6.5  由於默認連接的是test數據庫顯示 里面有三個collection 

db\db.getName() 查看當前使用的數據庫的名字  

show dbs  查看你存儲路徑下的所有數據庫 

db.dropDatabase() 刪除當前使用的數據庫   

     

上面的例子中 顯示查看了當前使用數據庫的名字 顯示 test   又通過show dbs 查看了data下的所有的數據庫  此時我們的連接還是在test上 通過db.dropDatabase()刪除test數據庫 在通過show dbs 發現test數據庫的確被我們刪除了

接下來我們演示重新創建test數據庫 並且在test中加入一個collection的過程

use databasename 使用數據庫   這個指令當你數據庫列表中沒有你指定的databasename的時候 它會去創建這個數據庫(注意此時這個數據庫還不存在 只有你實質的插入了一個collection后 這個數據庫就存在了)

db.createCollection(name,{capped:<boolean>,autoIndexId:<boolean>,size:<number>,max:<number>})

capped  是否開啟集合限制 默認為false 

autoIndexId 是否使用_id作為索引 默認為true   _id是數據庫為我們添加的GUID  為了保證數據的唯一性 

size  存儲空間的大小

max 最大存儲條目 

(capped參數的設置可以忽略 並且當capped和max一起使用的時候,會報錯 )

如果我們要創建默認的collection 可以直接db.createCollection("name")  通過show collections 來查看我們的創建的集合 db.collenctionname.drop() 刪除集合

上面的例子我們演示了創建集合 查看集合 刪除創建集合的操作 (在上面的例子中當我們不需要對集合做任何的設置的時候可以直接向不存在的集合中插入數據 mongodb會為我們自動創建集合)

向集合中插入數據  (花樣玩法)

db.insert({key:value,key:value})   

上面的這個例子對前端來說簡直是贊 因為mongodb本身存儲的就是文檔 已鍵值形式的存儲(並且同一個collection的不同文檔可以是完全不同的結構)

db.collectionname.save()  (稍后會寫update  save其實是save和update的一個集合)

循環插入 (我先將上面插入的數據刪除)

補充一個插入的例子

上面的例子我生成了一個隨機數作為id進行插入

db.collectionname.update(<query>,<update>,<upsert>,<multi>)   修改已經存在的文檔

<query> 查詢的匹配條件

<update> 更新的文檔內容  (這里只需要添加你更新的文檔的內容即可 如果你想要實現的是upsert 就是當不存在文檔的時候,添加文檔,這里就要添加文檔的所有部分)

<upsert>  文檔或者boolean 默認為false 當mongodb中不存在我們要更新的文檔的時候,不進行操作  添加文檔或者設置為true的時候 會在沒有找到文檔的時候為我們添加文檔

上面的例子當我們沒有設置<upsert>的時候不存在文檔的時候 mongodb不做任何操作 設置<upsert>的時候會為我們插入新的數據

<multi> 默認為false mongodb在更新默認只能更新查找到的一條數據 設置為true的時候 支持多行更新  設置multi為true的時候必須與$的操作一起(否則報錯)因為當你不是對多行進行操作的時候,不必要使用multi參數

上面的例子演示了同時為collection中兩個文檔增加字段

其他的更新操作

$inc 增加已經存在的鍵的值 在鍵不存在的時候創建 只支持數字

$rename 重新命名字段

$set 用來指定一個鍵的值  不存在的話就創建這個鍵

$unset  刪除指定的鍵值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM