[MongoDB]入門筆記

來源:互聯網
上載者:User

標籤:執行命令   data   mon   輸出   top   bst   base   tar   最新   

一、安裝

在window上進行MongoDB的安裝

1. 擷取系統版本資訊

開啟cmd運行

wmic os get caption

wmic os get osarchitecture

2. 下載MongoDB

目前最新穩定版 3.4.3

直接雙擊安裝,安裝完成後將安裝路徑儲存在系統內容變數中

3. 設定運行環境

需要一個資料目錄來儲存所有的資料,資料目錄格式是 \data\db (後面會有用)

於是在任意位置上建立一個 \data\db 檔案夾目錄

並使用 --dbpath [path] 命令將這個目錄設定為資料存放區目錄,同時啟動mongod.exe(在cmd中運行該程式,所以可以直接將程式拖放到cmd中。也可以像下面那樣直接輸入程式所在路徑)

"..\mongod.exe" --path "E:\mongoDBStore\data"  [..\是mongod.exe所在路徑]

執行命令後等待輸出

waiting for connections on port 27017

4. 啟動mongo.exe串連服務

mongo.exe

輸出

connecting to: mongodb://127.0.0.1:27017

MongoDB server version: 3.4.3

5. 開啟瀏覽器輸入 localhost:27017

It looks like you are trying to access MongoDB over HTTP on the native driver port.

 

二、將mongodb配置為window服務 [配置完成後服務名為 MongoDB]

##1. 在資料目錄data下建立一個mongo.config檔案 [後面系統會自動建立這個檔案]

2. 在資料目錄data上建立一個檔案夾log 並在其中建立一個檔案 mongodb.log

3. 編輯 config檔案,給dbpath和logpath這兩個變數賦值,dbpath就是前面你建立的那個資料目錄data檔案夾,而logpath則是第二步你所建立的那個log檔案路徑。

dbpath = E:\mongoDBStore\data

logpath = E:\mongoDBStore\data\log\mongodb.log

4. 在cmd中運行

"..\mongod.exe" --config "E:\mongoDBStore\data\mongo.config" --install

5. 啟動服務 cmd運行命令

net start mongodb

命令列輸出: MongoDB服務正在啟動...  服務已經啟動完成

6. 關閉服務

net stop mongodb

7. 卸載服務

sc.exe delete mongodb

8. 啟動用戶端串連服務

直接雙擊運行 mongo.exe

或者在cmd命令列中使用 mongo  mongodb://localhost:27017/[dbname]

 

三、基本操作1. 資料庫基本操作

查看資料庫 show dbs

選擇資料庫或者建立資料庫 use [database] 

查看資料庫下的所有集合 show collections

查看當前資料庫 db

刪除當前資料庫  db.dropDatabase()

刪除資料庫中某個集合 db.[collection].drop()

2. 插入資料,尋找資料

db.[collection].insert()

db.[collection].save()

db.[collection].find()

上面三個方法分別表示插入與尋找資料庫集合中的資料

通過find()方法可以查詢指定條件的資料集合。接著可以通過

.count()

.skip()

.limit()

.sort()

這四個方法對查詢結果進行更近一步的篩選

3. 更新資料

save()方法既可以插入資料,也可以更新資料。取決於id欄位

另外一個更新資料的方法就是update()

為了實現部分更新,需要使用 $set文法

db.student.insert({name: ‘joyjoe‘, age: 20, sex: ‘male‘})db.student.insert({name: ‘lucy‘, age: 25, sex: ‘female‘})db.student.insert({name: ‘anna‘, age: 18, sex: ‘female‘})// anna同學的年齡登記錯了需要修改db.student.update({name: ‘anna‘}, {$set: {age: 20} })// 把anna同學的登記資訊修改後只留下了年齡db.student.update({name: ‘anna‘}, {age: 20})

update()方法的第三個參數用來指明當尋找的資料不存在時是否會自動插入這條新資料。預設false不插入

update()方法的第四個參數用來指明是否把尋找出來的所有資料全部進行更新。預設false只更新第一條資料

4. 資料刪除

remove()  預設刪除所有滿足條件的資料

所以不傳入參數是會系統報錯的

設定第二個參數justOnly為true可以只刪除第一條資料

 

四、索引

查詢集合中所有索引 db.[collection].getIndexes()

給集合添加新的索引(僅對於空集合)

db.[collection].ensureIndex() 參數也是JSON對象,鍵表明索引欄位,值表明排序方向。

db.[collection].createIndex() 建立索引 (推薦)

索引有很多,分別為: _id索引

1. _id索引(集合預設索引)

2. 單鍵索引(需要手動建立) 為基礎資料型別 (Elementary Data Type)的資料建立索引

3. 多鍵索引   為數組中的每個元素添加索引

4. 複合索引   為多個欄位值建立索引,可以支援匹配多個鍵的查詢

5. 到期索引   一段時間過後就會到期的索引,同時相應資料也會刪除。適用於日誌記錄和使用者登入資訊儲存等資料

db.createIndex( { }, { expireAfterSeconds: 10 })  (單位 秒)

儲存在到期索引中的值必須是指定的時間類型,如果指定了數組,則按照最小值進行判斷刪除。同時不能是複合索引,刪除時間是不精確的。

6. 全文索引

7. 地理位置索引 

五、許可權認證

在 mongo.config檔案中開啟許可權認證,在檔案中進行配置

auth = true

重啟服務後,在log檔案中可以找到

authorization: "enabled"

此時還沒有建立使用者,依然可以匿名登陸。

1. 如何建立使用者

createUser() 傳入JSON對象

{

  user: "<name>",

  pwd: "<cleartext password>",

  customData: { <any information>},

  roles: [{ role: "<role>", db: ["<database>"...] }...]

}

 

role: read, readWrite, dbAdmin, dbOwner, userAdmin

[MongoDB]入門筆記

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.