成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

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

waterc / 1313人閱讀

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

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

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

MongoDB
MongoDB簡(jiǎn)介

MongoDB是一個(gè)開(kāi)源的NoSql數(shù)據(jù)庫(kù),相比mysql那樣的關(guān)系型數(shù)據(jù)庫(kù),它更為輕巧,靈活,非常適合在數(shù)據(jù)規(guī)模很大,事務(wù)性不強(qiáng)的場(chǎng)合下使用

MongoDB將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值對(duì)(key=>value)組成。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組

相對(duì)于mysql這類(lèi)需要把對(duì)象屬性轉(zhuǎn)換成SQL語(yǔ)句才能保存下來(lái) ,MongoDB這些可以直接保存JS對(duì)象成數(shù)據(jù)庫(kù)的文檔,來(lái)看一個(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ù)庫(kù)。下表將幫助您更容易理解Mongo中的一些概念:

SQL術(shù)語(yǔ)/概念 MongoDB術(shù)語(yǔ)/概念 解釋/說(shuō)明
database database 數(shù)據(jù)庫(kù)
table collection 數(shù)據(jù)庫(kù)表/集合
row document 數(shù)據(jù)庫(kù)記錄集合/文檔
column field 數(shù)據(jù)字段/域
index index 索引
table joins 表連接,mongodb不支持
primary key primary key 主鍵,MongoDB自動(dòng)將_id字段設(shè)置為主鍵

通過(guò)下圖實(shí)例我們也能更好的了解Mongo中的一些概念:

MongoDB安裝

大家可以針對(duì)自己的系統(tǒng),參考下面的鏈接向?qū)?lái)進(jìn)行安裝,步驟都是非常的詳細(xì)。這里不再贅述。

Windows 用戶(hù)向?qū)В篽ttps://docs.mongodb.com/manu...

Linux 用戶(hù)向?qū)В篽ttps://docs.mongodb.com/manu...

Mac 用戶(hù)向?qū)В篽ttps://docs.mongodb.com/manu...

Robomongo

我使用的MongoDB 可視化管理工具是Robomongo,當(dāng)然還有其它的可以使用,如:MongoChef等。

Robomongo
Robomongo 是一個(gè)基于 Shell 的跨平臺(tái)開(kāi)源 MongoDB 管理工具。嵌入了 JavaScript 引擎和 MongoDB mogo 。只要你會(huì)使用 mongo shell ,你就會(huì)使用 Robomongo。提供語(yǔ)法高亮、自動(dòng)完成、差別視圖等。

點(diǎn)擊這里下載

創(chuàng)建連接
下載并安裝成功后點(diǎn)擊左上角的 Create 來(lái)創(chuàng)建一個(gè)連接,給該連接起個(gè)名字如: localhost,使用默認(rèn)地址(localhost)和端口(27017)即可,點(diǎn)擊 Save 保存,如下圖:

添加數(shù)據(jù)
前面已經(jīng)簡(jiǎn)單的介紹了mongodb中的一些概念,讓我們使用Robomongo這個(gè)圖形化管理工具來(lái)添加數(shù)據(jù):

點(diǎn)插入文檔:

會(huì)打開(kāi)一個(gè)空白面板,讓我們手動(dòng)寫(xiě)入要添加的數(shù)據(jù):

寫(xiě)一個(gè)簡(jiǎn)單的測(cè)試數(shù)據(jù)如下:

其中左下角的按鈕可以用來(lái)驗(yàn)證我們寫(xiě)入的數(shù)據(jù)格式,數(shù)據(jù)格式無(wú)誤后點(diǎn)擊右下角的保存按鈕即可。

查看新增加的文檔:

這時(shí),在你右邊區(qū)域就可以看到我們剛才新增加的數(shù)據(jù)了:

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

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

安裝Mongolass
$ npm install mongoose
連接MongoDB

首先,我們需要定義一個(gè)連接。如果您的應(yīng)用程序只使用一個(gè)數(shù)據(jù)庫(kù),您應(yīng)該使用mongoose.connect;
如果您需要?jiǎng)?chuàng)建額外的連接,使用mongoose.createConnection

這兩種方式連接都需要mongodb:// URI,或者主機(jī)名字,數(shù)據(jù)庫(kù)名字,端口號(hào),配置項(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 });
訪問(wèn)一個(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é)

本篇主要講解了我在開(kāi)發(fā)本項(xiàng)目時(shí)使用的什么數(shù)據(jù)庫(kù),怎么連接數(shù)據(jù)庫(kù),下節(jié)干貨就來(lái)了:用戶(hù)注冊(cè)功能開(kāi)發(fā),敬請(qǐng)期待!
工程代碼可從github上下載:https://github.com/phping1/no...

想查看更多文章,請(qǐng)點(diǎn)擊我的博客

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/18950.html

相關(guān)文章

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

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

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

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

    Jeffrrey 評(píng)論0 收藏0
  • 把手教你用typescript+nodejs+mongoDB+vue2+angular4仿簡(jiǎn)書(shū)

    摘要:前端的所使用的技術(shù)棧后端這個(gè)小項(xiàng)目才開(kāi)始,使用已經(jīng)搭建好了前端開(kāi)發(fā)環(huán)境及相應(yīng)的的配置。接下來(lái)我會(huì)帶著大家一起完成整個(gè)簡(jiǎn)書(shū)的開(kāi)發(fā)工作。 這是一個(gè)開(kāi)源的個(gè)人項(xiàng)目。 前端的所使用的技術(shù)棧: typescriptes6vue2vue-cliwebpack2axiosangular4angular-cli 后端: nodejsmongoDBejs 這個(gè)小項(xiàng)目才開(kāi)始,使用vue-cli已經(jīng)搭建好了...

    liuchengxu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<