項目實戰(連載):基於Angular2+Mongodb+Node技術實現的多用戶博客系統教程(2)

本章主要講什麼(一句話)?


 

《項目實戰:基於Angular2+Mongodb+Node技術實現的多用戶博客系統教程(2)》web

                                                                      -- 基於MongoDB的MyBlog數據庫知識技術儲備(上)mongodb

1、前言

在開始正式講解本系統前,咱們可能須要給你們準備一些基本知識的儲備,本節咱們將會給你們快速的補充一下本系統必須的MongoDB部分的知識點,具體包括如下內容:數據庫

瞭解什麼是MongoDB以及MongoDB的特性json

掌握MongoDB最多見的用法windows

2、認識非關係型數據庫MongoDB

2.一、MongoDB簡介

官方定義:MongoDB 是一個基於分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構很是鬆散,是相似json的bson格式,所以能夠存儲比較複雜的數據類型。Mongo最大的特色是他支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持對數據創建索引。瀏覽器

通俗解釋: Mongo DB ,是目前在IT行業很是流行的一種非關係型數據庫(NoSql),其靈活的數據存儲方式,備受當前IT從業人員的青睞。Mongo DB很好的實現了面向對象的思想(OO思想),在Mongo DB中 每一條記錄都是一個Document對象。Mongo DB最大的優點在於全部的數據持久操做都無需開發人員手動編寫SQL語句,直接調用方法就能夠輕鬆的實現CRUD操做。緩存

特色服務器

一、MongoDB是基於文檔的數據庫數據結構

二、是介於關係型數據庫和非關係型數據庫之間的產品(最像關係性數據庫的NoSQL)app

三、支持相似json的bson格式,數據結構很是鬆散

官網地址:http://www.mongodb.org/ 百度百科:http://baike.baidu.com/subview/3385614/9338179.htm

2.二、MongoDB優缺點

優勢:弱一致性文檔結構的存儲方式內置GridFS(分佈式文件系統)

缺點:不支持事務空間佔用大

2.三、主要適用場合

其主要場景以下:

1)網站實時數據處理。它很是適合實時的插入、更新與查詢,並具有網站實時數據存儲所需的複製及高度伸縮性。

2)緩存。因爲性能很高,它適合做爲信息基礎設施的緩存層。在系統重啓以後,由它搭建的持久化緩存層能夠避免下層的數據源過載。

3)高伸縮性的場景。很是適合由數十或數百臺服務器組成的數據庫,它的路線圖中已經包含對MapReduce引擎的內置支持。

不適用的場景以下:

1)要求高度事務性的系統。

2)傳統的商業智能應用。

3)複雜的跨文檔(表)級聯查詢。

3、MongoDB安裝配置

1)在官網直接下載安裝包,下載地址:http://www.mongodb.org/downloads

2)安裝很是的簡單隻要,解壓或者安裝就能夠。這取決於你下載的是msi安裝包

是zip壓縮包。

若是是zip的壓縮包。直接解壓,解壓後,放在D:/MongoDB目錄下。爲了命令行的方便,能夠把D:/MongoDB/bin加到系統環境變量的path中。

若是是msi安裝包。基本默認安裝下一步下一步便可,注意你的安裝路徑。

3)測試是否安裝成功

D:\>mongod  --dbpath  D:/MongoDB/data

Sun Oct 24 15:07:05 MongoDB starting : pid=2472 port=27017

dbpath=D:/MongoDB/data 32-bit

** NOTE: This is a development version (1.7.1) of MongoDB.

。。。。

Sun Oct 24 15:07:05 [websvr] web admin interface listening on port 28017

因爲是開發版,上面就有個警告,不要緊,忽略它。

最後兩行說明的數據庫端口和Web端口,分別是27017和28017,在瀏覽器中打開http://localhost:27017,能夠看到其相關的一些信息。

這樣說明安裝成功。

4、MongoDB基本用法

4.一、建立庫

use 命令

MongoDB use DATABASE_NAME 用於建立數據庫。該命令將建立一個新的數據庫,若是它不存在,不然將返回現有的數據庫。

語法:

use DATABASE 語句的基本語法以下:

use DATABASE_NAME

示例:

若是想建立一個數據庫名稱 , 那麼 use DATABASE 語句以下:

>use testDB

switched to db testDB

要檢查當前選擇的數據庫使用命令 db

>db

testDB

PS:

前提1 - mongodb安裝在d:/mongodb目錄下

前提2 - 已經將d:/mongdb/bin配置在windows環境變量的path路徑中

前提3 – 在d:/mongodb/目錄下新建一data文件夾

前提4 – 運行cmd命令,在命令行中健入以下命令:

> mongod --dbpath D:/MongoDB/data

運行以下圖所示:


 

說明mongodb服務器啓動在:127.0.0.1:385979端口處監聽請求!

從新打開一新的控制檯:

並健入以下命令:mongo


 

用於連結服務器,默認連結他的默認數據庫test

說明建立數據庫成功!

查看數據庫:

控制檯中健入以下命令:show dbs,注意此時顯示的只會有local數據庫,卻沒有testDB,緣由是所以時數據庫並無集合(數據),因此此時只有邏輯數據庫產生,並無產真正意義上的物理數據,必須調用db.createCollection("集合名")後,具體的後面會講到,再次運行: show dbs命令,才能看到testDB數據庫,另外,mongodb的命令是區分大小寫的,這一點也是要注意!

4.二、刪除庫

dropDatabase()方法

MongoDB db.dropDatabase() 命令是用來刪除一個現有的數據庫。

語法:

dropDatabase() 命令的基本語法以下:

> db.dropDatabase()

這將刪除選定的數據庫。若是尚未選擇任何數據庫,而後它會刪除默認的 ' test' 數據庫

示例:

首先,檢查列表數據庫經過使用命令 show dbs

>show dbs

local      0.78125GB

mydb       0.23012GB

test       0.23012GB

>

若是想刪除新數據庫 ,  那麼 dropDatabase() 命令以下:

>use mydb

switched to db mydb

>db.dropDatabase()

>{ "dropped" : "mydb", "ok" : 1 }

>

如今檢查的數據庫列表:

>show dbs

local      0.78125GB

test       0.23012GB

>

4.三、建立集合

在mongodb裏面,沒有表的概念,集合(collections)就至關於傳統數據庫中的表。

createCollection() 方法

MongoDB db.createCollection(name, options) 是用來建立集合.

語法:

基本的 createCollection() 命令語法以下:

db.createCollection(name, options)


 

在命令中, name 是要建立的集合的名稱. Options 是一個文件,用於指定配置的集合


 

選項參數是可選的,因此只須要到指定的集合名稱。如下是可使用的選項列表:

例子:

createCollection() 方法不使用選項的基本語法以下:

>use test

switched to db test

>db.createCollection("mycollection")

{ "ok" : 1 }

>

能夠檢查經過使用建立的集合命令 show collections

>show collections

mycollection

system.indexes

下面的例子顯示了幾個重要的選項 createCollection()方法的語法:

>db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )

{ "ok" : 1 }

>

在MongoDB中,不須要建立集合。當插入一些文件 MongoDB 自動建立的集合。

>db.newdb.insert({"name" : "yiibai"})

>show collections

mycol

mycollection

system.indexes

newdb

>

4.四、刪除集合

drop() 方法

MongoDB 的 db.collection.drop() 是用來從數據庫中刪除一個集合。

語法:

drop() 命令的基本語法以下

db.COLLECTION_NAME.drop()

示例:

首先,檢查可用的集合在數據庫 mydb

>use mydb

switched to db mydb

>show collections

mycol

mycollection

system.indexes

yiibai

>

如今刪除集合名稱爲 mycollection

>db.mycollection.drop()

true

>

再次檢查到數據庫中的集合列表

>show collections

mycol

system.indexes

yiibai

>

drop() 方法將返回 true,若是選擇成功收集被丟棄,不然將返回 false

5、後述

下章劇透:

《項目實戰:基於Angular2+Mongodb+Node技術實現的多用戶博客系統教程(3)》

                                                              -- 基於MongoDB的MyBlog數據庫知識技術儲備(下)

    

相關文章
相關標籤/搜索