MongoDB使用經驗總結

來源:互聯網
上載者:User

標籤:

摘要:

  最近在開發項目使用了資料庫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使用經驗總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.