標籤:
摘要:
最近在開發項目使用了資料庫MongoDB,我將它的使用方法整理下分享給大家。至於mongoDB有什麼優點,大家可以到官網去看。
安裝:
首先我們需要到官網下載適合自己系統的mongodb。
windows:
你可以在命令視窗中輸入下面命令來查看自己的系統參數,選擇對應的版本
wmic os get osarchitecture
如果你下載的是zip檔案,只需要按照下面的步驟來就可以安裝了:
1、將下載的檔案解壓縮到自己想要安裝的目錄,比如:D:\test\。將解壓的檔案夾名改成mongodb,在mongodb檔案裡麵包含bin檔案等。
2、建立資料和日誌倉庫,建立檔案夾D:\test\mongodb\data\db和D:\test\mongodb\data\log,在log檔案夾下建立一個記錄檔MongoDB.log。
3、設定資料倉儲路徑並啟動,MongoDB預設的資料倉儲是\data\db,我們需要更改為自己設定的路徑,在命令提示窗內輸入
>d:
d:>cd D:\test\mongodb\bin
D:\test\mongodb\bin>mongod --dbpath "D:\test\mongodb\data"
如果控制台看到類似的資訊就說明安裝成功了
注意:關閉該視窗就關閉了mongodb的服務,如果你想關閉服務可以使用Ctrl+c來關閉。
4、測試連接,重新開啟一個命令視窗,進入到上面的目錄下,然後輸入mongo或者mongo.exe當出現下面資訊時說明測試通過,此時我們已經進入了mongo的預設資料庫test這個資料庫。
5、上面提到關閉視窗mongo的服務就被關閉了,這樣的話每次我們需要mongoDB服務時都要開啟mongod.exe程式,比較麻煩。我們可以將mongo設定為windows的預設服務。
在mongodb的bin目錄下執行下面命令
mongod --dbpath "D:\test\mongodb\data\db" --logpath "D:\test\mongodb\data\log\MongoDB.log" --install --serviceName "MongoDB"
參數詳解:
–install : 安裝
–remove : 移除
–serviceName <name> : 服務名稱
–serviceDisplayName <display-name> : 服務列表顯示名稱
–serviceDescription <description> : 服務描述
設定好之後只需要執行下面命令就可以啟動mongoDB
NET START MongoDB
6、關閉和刪除
關閉:
net stop MongoDB
刪除:
sc.exe delete MongoDB
如果你下載的是msi檔案,只需要雙擊安裝檔案,一步一步安裝就可以。最後你會在C:\Program Files目錄下發現MongoDB 2.6 Standard檔案。這個檔案和我們下載的zip檔案類似,我們只需要按照zip檔案安裝的方法安裝即可。
MAC:
如果你的系統是mac,有兩種方法安裝
1、使用brew,只需要執行下面命令就可以安裝mongoDB
brew install mongodb
或者
brew install mongodb --with-openssl
在或者
brew install mongodb --devel
2、常規安裝
先down下來檔案包
curl -O http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.6.6.tgz
解壓
tar -zxvf mongodb-osx-x86_64-2.6.6.tgz
然後將檔案複製到安裝目錄
mkdir -p mongodbcp -R -n mongodb-osx-x86_64-2.6.6/ mongodb
3、將安裝路徑配置到rc file
export PATH=<mongodb-install-directory>/bin:$PATH
4、建立資料倉儲
mkdir -p /data/db
5、設定資料路徑
mongod --dbpath <path to data directory>
注意:不要將mongod.exe檔案在公用網內可見,因為MongoDB是在可信任的環境中執行的。
操作資料庫:
啟動mongodb,建立資料庫mongotest
use mongotest;
向mongotest的user表插入資料
db.user.insert({
name:‘zhangsan‘,
age:20
});
我們在node環境下來操作資料庫
mkdir myprojectcd myproject
建立package.json檔案如下
{ "name": "myproject", "version": "1.0.0", "description": "My first project", "main": "index.js", "repository": { "type": "git", "url": "git://github.com/christkv/myfirstproject.git" }, "dependencies": { "mongodb": "~2.0" }, "author": "Christian Kvalheim", "license": "Apache 2.0", "bugs": { "url": "https://github.com/christkv/myfirstproject/issues" }, "homepage": "https://github.com/christkv/myfirstproject"}
執行npm install命令來安裝mongoDB模組。建立檔案mongotest.js,內容如下:
var mongodb = require(‘mongodb‘);var server = new mongodb.Server("127.0.0.1",27017,{});//本地27017連接埠new mongodb.Db(‘mongotest‘,server,{}).open(function(error,client){//資料庫:mongotest if(error) throw error; var collection = new mongodb.Collection(client,‘user‘);//表:user collection.find(function(error,cursor){ cursor.each(function(error,doc){ if(doc){ console.log("name:"+doc.name+" age:"+doc.age); } }); });});
運行:
node mongodbTest.js
輸出結果為
命令:
1、基本
show dbs |
顯示資料庫列表 |
use db |
進入db資料庫 |
show collections |
顯示資料庫中的集合 |
2、增
db.table.save({"id":1}) |
建立名為table的表,並新增一條資料 |
db.table.insert({"id":1}) |
在table表中插入一條新資料,,如果沒有table表,mongodb會自動建立 |
3、改
db.users.update({"id":10},{"name": "zhangsan"}) |
修改id=10的記錄name=zhangsan,第一個參數是尋找條件,第二個參數是修改內容,除了主鍵,其他內容會被第二個參數的內容替換,主鍵不能修改 |
4、刪
db.table.remove() |
刪除表table的所有資料,但是表還存在 |
db.table.remove({"id": 1}) |
刪除table表的id=1的記錄 |
db.table.drop() |
刪除表table |
db.runCommand({"drop","table"}) |
刪除表table |
db.runCommand({"dropDatabase": 1}) |
刪除當前資料庫 |
5、查
db.table.find() |
尋找table表下的所有資料 |
db.collection.find({ "key" : value }) |
尋找key=value的資料 |
db.table.findOne() |
尋找table表的第一條記錄 |
db.collection.find({ "key" : { $gt: value } }) |
尋找key > value的資料 |
6、排序
db.collection.find().sort({ "key1" : -1 ,"key2" : 1 }) |
將尋找的結果按照第一個欄位降序,第二個欄位升序排 |
附錄:
http://docs.mongodb.org/manual/
https://github.com/mongodb/node-mongodb-native
MongoDB使用經驗總結