摘要:連接數(shù)據(jù)庫引子博客肯定是以用戶為中心,包括用戶的注冊,用戶的登錄,用戶發(fā)表留言,對留言進(jìn)行評價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫。概念解析在中基本的概念是文檔集合數(shù)據(jù)庫。這兩種方式連接都需要,或者主機(jī)名字,數(shù)據(jù)庫名字,端口號,配置項(xiàng)等。
連接數(shù)據(jù)庫 引子
MongoDB博客肯定是以用戶為中心,包括用戶的注冊,用戶的登錄,用戶發(fā)表留言,對留言進(jìn)行評價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫。
MongoDB是一個(gè)開源的NoSql數(shù)據(jù)庫,相比mysql那樣的關(guān)系型數(shù)據(jù)庫,它更為輕巧,靈活,非常適合在數(shù)據(jù)規(guī)模很大,事務(wù)性不強(qiáng)的場合下使用
MongoDB將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值對(key=>value)組成。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組
相對于mysql這類需要把對象屬性轉(zhuǎn)換成SQL語句才能保存下來 ,MongoDB這些可以直接保存JS對象成數(shù)據(jù)庫的文檔,來看一個(gè)MongoDB文檔的示例:
{ "_id" : ObjectId( "4f7fe8432b4a1077a7c551e8" ), name : "phping", age : 28, hobby : ["movies","music","nba"] }
可以看到數(shù)據(jù)格式為json,因此與javascript的親和性很強(qiáng),我們的項(xiàng)目也是使用MongoDB。
在mongodb中基本的概念是文檔、集合、數(shù)據(jù)庫。下表將幫助您更容易理解Mongo中的一些概念:
SQL術(shù)語/概念 | MongoDB術(shù)語/概念 | 解釋/說明 |
---|---|---|
database | database | 數(shù)據(jù)庫 |
table | collection | 數(shù)據(jù)庫表/集合 |
row | document | 數(shù)據(jù)庫記錄集合/文檔 |
column | field | 數(shù)據(jù)字段/域 |
index | index | 索引 |
table joins | 表連接,mongodb不支持 | |
primary key | primary key | 主鍵,MongoDB自動(dòng)將_id字段設(shè)置為主鍵 |
通過下圖實(shí)例我們也能更好的了解Mongo中的一些概念:
大家可以針對自己的系統(tǒng),參考下面的鏈接向?qū)磉M(jìn)行安裝,步驟都是非常的詳細(xì)。這里不再贅述。
Windows 用戶向?qū)В篽ttps://docs.mongodb.com/manu...
Linux 用戶向?qū)В篽ttps://docs.mongodb.com/manu...
Mac 用戶向?qū)В篽ttps://docs.mongodb.com/manu...
我使用的MongoDB 可視化管理工具是Robomongo,當(dāng)然還有其它的可以使用,如:MongoChef等。
Robomongo
Robomongo 是一個(gè)基于 Shell 的跨平臺開源 MongoDB 管理工具。嵌入了 JavaScript 引擎和 MongoDB mogo 。只要你會(huì)使用 mongo shell ,你就會(huì)使用 Robomongo。提供語法高亮、自動(dòng)完成、差別視圖等。
點(diǎn)擊這里下載
創(chuàng)建連接
下載并安裝成功后點(diǎn)擊左上角的 Create 來創(chuàng)建一個(gè)連接,給該連接起個(gè)名字如: localhost,使用默認(rèn)地址(localhost)和端口(27017)即可,點(diǎn)擊 Save 保存,如下圖:
添加數(shù)據(jù)
前面已經(jīng)簡單的介紹了mongodb中的一些概念,讓我們使用Robomongo這個(gè)圖形化管理工具來添加數(shù)據(jù):
點(diǎn)插入文檔:
會(huì)打開一個(gè)空白面板,讓我們手動(dòng)寫入要添加的數(shù)據(jù):
寫一個(gè)簡單的測試數(shù)據(jù)如下:
其中左下角的按鈕可以用來驗(yàn)證我們寫入的數(shù)據(jù)格式,數(shù)據(jù)格式無誤后點(diǎn)擊右下角的保存按鈕即可。
查看新增加的文檔:
這時(shí),在你右邊區(qū)域就可以看到我們剛才新增加的數(shù)據(jù)了:
好了,MongoDB安裝成功了,我們來使用Mongolass連接數(shù)據(jù)庫。
$ npm install mongoose
首先,我們需要定義一個(gè)連接。如果您的應(yīng)用程序只使用一個(gè)數(shù)據(jù)庫,您應(yīng)該使用mongoose.connect;
如果您需要?jiǎng)?chuàng)建額外的連接,使用mongoose.createConnection。
這兩種方式連接都需要mongodb:// URI,或者主機(jī)名字,數(shù)據(jù)庫名字,端口號,配置項(xiàng)等。
var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/my_database");
var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/my_database"); var Cat = mongoose.model("Cat", { name: String });
var mongoose = require("mongoose"); mongoose.connect("mongodb://localhost/my_database"); var Cat = mongoose.model("Cat", { name: String }); var kitty = new Cat({ name: "Zildjian" }); kitty.save(function (err) { if (err) { console.log(err); } else { console.log("meow"); } });
更多使用可以查看官網(wǎng)文檔.
總結(jié)本篇主要講解了我在開發(fā)本項(xiàng)目時(shí)使用的什么數(shù)據(jù)庫,怎么連接數(shù)據(jù)庫,下節(jié)干貨就來了:用戶注冊功能開發(fā),敬請期待!
工程代碼可從github上下載:https://github.com/phping1/no...
想查看更多文章,請點(diǎn)擊我的博客
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/18950.html
摘要:本文將介紹如何使用和抓取主流的技術(shù)博客文章,然后用搭建一個(gè)小型的技術(shù)文章聚合平臺。是谷歌開源的基于和的自動(dòng)化測試工具,可以很方便的讓程序模擬用戶的操作,對瀏覽器進(jìn)行程序化控制。相對于,是新的開源項(xiàng)目,而且是谷歌開發(fā),可以使用很多新的特性。 背景 說到爬蟲,大多數(shù)程序員想到的是scrapy這樣受人歡迎的框架。scrapy的確不錯(cuò),而且有很強(qiáng)大的生態(tài)圈,有g(shù)erapy等優(yōu)秀的可視化界面。但...
摘要:本文將介紹如何使用和抓取主流的技術(shù)博客文章,然后用搭建一個(gè)小型的技術(shù)文章聚合平臺。是谷歌開源的基于和的自動(dòng)化測試工具,可以很方便的讓程序模擬用戶的操作,對瀏覽器進(jìn)行程序化控制。相對于,是新的開源項(xiàng)目,而且是谷歌開發(fā),可以使用很多新的特性。 背景 說到爬蟲,大多數(shù)程序員想到的是scrapy這樣受人歡迎的框架。scrapy的確不錯(cuò),而且有很強(qiáng)大的生態(tài)圈,有g(shù)erapy等優(yōu)秀的可視化界面。但...
摘要:前端的所使用的技術(shù)棧后端這個(gè)小項(xiàng)目才開始,使用已經(jīng)搭建好了前端開發(fā)環(huán)境及相應(yīng)的的配置。接下來我會(huì)帶著大家一起完成整個(gè)簡書的開發(fā)工作。 這是一個(gè)開源的個(gè)人項(xiàng)目。 前端的所使用的技術(shù)棧: typescriptes6vue2vue-cliwebpack2axiosangular4angular-cli 后端: nodejsmongoDBejs 這個(gè)小項(xiàng)目才開始,使用vue-cli已經(jīng)搭建好了...
閱讀 2552·2021-09-22 16:05
閱讀 3129·2021-09-10 11:24
閱讀 3730·2019-08-30 12:47
閱讀 3024·2019-08-29 15:42
閱讀 3453·2019-08-29 15:32
閱讀 2040·2019-08-26 11:48
閱讀 1146·2019-08-23 14:40
閱讀 968·2019-08-23 14:33