亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

手把手教你開發(fā)nodejs微博網(wǎng)站-連接數(shù)據(jù)庫

waterc / 1365人閱讀

摘要:連接數(shù)據(jù)庫引子博客肯定是以用戶為中心,包括用戶的注冊,用戶的登錄,用戶發(fā)表留言,對留言進(jìn)行評價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫。概念解析在中基本的概念是文檔集合數(shù)據(jù)庫。這兩種方式連接都需要,或者主機(jī)名字,數(shù)據(jù)庫名字,端口號,配置項(xiàng)等。

連接數(shù)據(jù)庫 引子

博客肯定是以用戶為中心,包括用戶的注冊,用戶的登錄,用戶發(fā)表留言,對留言進(jìn)行評價(jià)等等功能,所以,自然離不開數(shù)據(jù)庫。

MongoDB
MongoDB簡介

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。

MongoD概念解析

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中的一些概念:

MongoDB安裝

大家可以針對自己的系統(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...

Robomongo

我使用的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ù)了:

使用Mongolass連接數(shù)據(jù)庫

好了,MongoDB安裝成功了,我們來使用Mongolass連接數(shù)據(jù)庫。

安裝Mongolass
$ npm install mongoose
連接MongoDB

首先,我們需要定義一個(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");
定義一個(gè)模型
var mongoose = require("mongoose");

mongoose.connect("mongodb://localhost/my_database");

var Cat = mongoose.model("Cat", { name: String });
訪問一個(gè)模型
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

相關(guān)文章

  • 把手教你如何用Crawlab構(gòu)建技術(shù)文章聚合平臺(一)

    摘要:本文將介紹如何使用和抓取主流的技術(shù)博客文章,然后用搭建一個(gè)小型的技術(shù)文章聚合平臺。是谷歌開源的基于和的自動(dòng)化測試工具,可以很方便的讓程序模擬用戶的操作,對瀏覽器進(jìn)行程序化控制。相對于,是新的開源項(xiàng)目,而且是谷歌開發(fā),可以使用很多新的特性。 背景 說到爬蟲,大多數(shù)程序員想到的是scrapy這樣受人歡迎的框架。scrapy的確不錯(cuò),而且有很強(qiáng)大的生態(tài)圈,有g(shù)erapy等優(yōu)秀的可視化界面。但...

    LinkedME2016 評論0 收藏0
  • 把手教你如何用Crawlab構(gòu)建技術(shù)文章聚合平臺(一)

    摘要:本文將介紹如何使用和抓取主流的技術(shù)博客文章,然后用搭建一個(gè)小型的技術(shù)文章聚合平臺。是谷歌開源的基于和的自動(dòng)化測試工具,可以很方便的讓程序模擬用戶的操作,對瀏覽器進(jìn)行程序化控制。相對于,是新的開源項(xiàng)目,而且是谷歌開發(fā),可以使用很多新的特性。 背景 說到爬蟲,大多數(shù)程序員想到的是scrapy這樣受人歡迎的框架。scrapy的確不錯(cuò),而且有很強(qiáng)大的生態(tài)圈,有g(shù)erapy等優(yōu)秀的可視化界面。但...

    Jeffrrey 評論0 收藏0
  • 把手教你用typescript+nodejs+mongoDB+vue2+angular4仿簡書

    摘要:前端的所使用的技術(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)搭建好了...

    liuchengxu 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<