欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用?Node.js?將?MongoDB?連接到您的應(yīng)用程序

 更新時(shí)間:2022年09月13日 08:38:27   作者:amboke  
NoSQL?數(shù)據(jù)庫(kù)對(duì)于處理大量分布式數(shù)據(jù)非常有用,我們可以在這個(gè)數(shù)據(jù)庫(kù)中存儲(chǔ)信息,對(duì)其進(jìn)行管理,這篇文章主要介紹了使用?Node.js?將?MongoDB?連接到您的應(yīng)用程序,需要的朋友可以參考下

使用 Node.js 將 MongoDB 連接到您的應(yīng)用程序

MongoDB 是一個(gè)開(kāi)源的 NoSQL 數(shù)據(jù)庫(kù)管理程序。 NoSQL 數(shù)據(jù)庫(kù)對(duì)于處理大量分布式數(shù)據(jù)非常有用。我們可以在這個(gè)數(shù)據(jù)庫(kù)中存儲(chǔ)信息,對(duì)其進(jìn)行管理,然后檢索它并將其顯示給查看我們應(yīng)用程序的人。

現(xiàn)在,要從 Node.js 服務(wù)器連接到 Mongo 數(shù)據(jù)庫(kù),您可以使用:

  • Mongo,官方驅(qū)動(dòng)npm包
  • Mongoose,nodejs 中 mongo 的優(yōu)雅對(duì)象建模工具

大多數(shù)在線教程都教如何使用 mongoose 在 MongoDB 中設(shè)置 Node/Express 應(yīng)用程序,這對(duì)初學(xué)者沒(méi)有太大幫助。

在本教程中,我將向您介紹設(shè)置 MongoDB 帳戶(hù)、生成連接字符串以及在不使用 mongoose 的情況下將 MongoDB 數(shù)據(jù)庫(kù)連接到應(yīng)用程序的基礎(chǔ)知識(shí)。

如果您喜歡觀看視頻,請(qǐng)查看教程 這里 .

https://youtu.be/Bcg6C0G_tAA

讓我們開(kāi)始吧!

第 1 步。創(chuàng)建一個(gè)帳戶(hù)

前往 MongoDB Atlas 的 網(wǎng)站 并使用您的電子郵件注冊(cè)。

您可能需要回答一個(gè)簡(jiǎn)短的問(wèn)卷來(lái)創(chuàng)建您的帳戶(hù)。

步驟 2. 部署您的第一個(gè)集群

概括地說(shuō),集群是存儲(chǔ)數(shù)據(jù)庫(kù)副本的一組節(jié)點(diǎn)。

單擊構(gòu)建數(shù)據(jù)庫(kù),然后選擇共享數(shù)據(jù)庫(kù)類(lèi)型(免費(fèi)的?。?/p>

它將為您提供自定義集群的選項(xiàng),但您可以使用默認(rèn)值。只需確保您仍處于免費(fèi)套餐中。之后,單擊創(chuàng)建集群。

步驟 3. 創(chuàng)建用戶(hù)名和密碼

在后臺(tái)創(chuàng)建集群時(shí),您必須創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶(hù)。用戶(hù)名和密碼與您用于登錄 MongoDB Atlas 的用戶(hù)名和密碼不同;它們將僅用于此特定數(shù)據(jù)庫(kù)(它有助于保持?jǐn)?shù)據(jù)安全并有助于控制誰(shuí)可以訪問(wèn)哪些數(shù)據(jù))。

確保安全地存儲(chǔ)您的密碼,因?yàn)槲覀冃枰鼇?lái)連接數(shù)據(jù)庫(kù)。

第 4 步。添加您的 IP 地址

在連接到集群之前,您需要將您的 IP 地址列入白名單。這是 MongoDB Atlas 中內(nèi)置的安全功能。繼續(xù)并單擊添加您的當(dāng)前 IP 地址。

之后,只需單擊完成并關(guān)閉,當(dāng)對(duì)話框打開(kāi)時(shí),單擊轉(zhuǎn)到數(shù)據(jù)庫(kù)。

第5步.首頁(yè)

歡迎訪問(wèn)您的數(shù)據(jù)庫(kù)主頁(yè);你應(yīng)該在那里看到你的集群。在將其連接到您的應(yīng)用程序之前,您必須在其中創(chuàng)建一個(gè)集合。

第 6 步:創(chuàng)建集合

單擊瀏覽集合,然后添加我自己的數(shù)據(jù)

鍵入數(shù)據(jù)庫(kù)的名稱(chēng)和集合名稱(chēng)。在我的例子中,我的數(shù)據(jù)庫(kù)名稱(chēng)是“to-do-app”,集合名稱(chēng)是“tasks”。單擊創(chuàng)建。

太好了,您已經(jīng)創(chuàng)建了一個(gè)集合,您的所有對(duì)象都將保存在其中。

步驟 7. 生成連接字符串

返回到您的數(shù)據(jù)庫(kù)主頁(yè)(左上角,在 DEPLOYMENT 下),然后在集群的主頁(yè)上,單擊 Connect。您將獲得三種連接數(shù)據(jù)庫(kù)的方法。

選擇“連接您的應(yīng)用程序”方法。

提供的連接字符串將用于您的應(yīng)用程序(因此您的應(yīng)用程序可以連接和操作數(shù)據(jù)庫(kù))。

步驟 8. 初始化您的項(xiàng)目

現(xiàn)在轉(zhuǎn)到您的 IDE(我使用 VS Code)并啟動(dòng)您的應(yīng)用程序。

如果這是您第一次開(kāi)發(fā)全棧 Web 應(yīng)用程序,您需要將 Node.js 下載到您的計(jì)算機(jī)上。

您可以從 官方節(jié)點(diǎn)網(wǎng)站 ,它還將安裝 npm(節(jié)點(diǎn)包管理器)。

npm 是 Node.js 的包管理器,擁有數(shù)十萬(wàn)個(gè)包。盡管它確實(shí)創(chuàng)建了一些目錄結(jié)構(gòu)/組織,但這不是主要目的。

它的主要目標(biāo)是自動(dòng)化依賴(lài)和包管理。這意味著您可以在 package.json 文件中指定項(xiàng)目的所有依賴(lài)項(xiàng)。任何時(shí)候您(或其他任何人)需要開(kāi)始您的項(xiàng)目時(shí),他們只需運(yùn)行 npm install 并立即安裝所有依賴(lài)項(xiàng)。除此之外,還可以指定您的項(xiàng)目所依賴(lài)的版本,以防止更新破壞您的項(xiàng)目。

要使用 npm 初始化您的第一個(gè)項(xiàng)目,請(qǐng)創(chuàng)建一個(gè)項(xiàng)目文件夾,并將目錄更改為您的項(xiàng)目文件夾。

完成后,您就可以使用以下命令初始化您的第一個(gè)項(xiàng)目:

 npm init ## 觸發(fā)項(xiàng)目的初始化

步驟 9. 安裝本地包

使用 npm 安裝任何軟件包后,該軟件包將作為依賴(lài)項(xiàng)安裝在您的 package.json 文件中的應(yīng)用程序中,并且其模塊存儲(chǔ)在 node_modules 文件夾中。

npm 安裝 是安裝您選擇的包的標(biāo)準(zhǔn) NPM 命令。

 npm 安裝<package name>

現(xiàn)在讓我們安裝我們將用于這個(gè)項(xiàng)目的包。

表達(dá):

 npm 安裝快遞

MongoDB:

 npm 安裝 mongodb

多特納夫:

 npm 安裝 dotenv

dotenv 包存儲(chǔ)了我們不想共享的敏感信息。它創(chuàng)建環(huán)境變量并將它們隱藏在我們的主代碼中,例如,您可以保護(hù) env 文件中的私鑰,并在將其推送到 GitHub 時(shí)將其隱藏。

您可以檢查所有內(nèi)容是否已成功安裝在您的 package-lock.json 上(在 packages 下)。

步驟 10. 需要依賴(lài)項(xiàng)

安裝包后,新建一個(gè) 服務(wù)器.js 文件并使用您的代碼編輯器打開(kāi)它。然后,添加以下代碼行:

 const express = require('express') #1  
 const app = express() #2  
 const MongoClient = require('mongodb').MongoClient. #3

代碼說(shuō)明:

  • 在您的第一行代碼中,您使用 require 函數(shù)來(lái)包含“express 模塊”。
  • 在使用 express 模塊之前,您需要為它創(chuàng)建一個(gè)對(duì)象。
  • MongoDB 模塊導(dǎo)出 MongoClient,您將使用它連接到 MongoDB 數(shù)據(jù)庫(kù)。您可以使用 MongoClient 的實(shí)例連接到集群、訪問(wèn)數(shù)據(jù)庫(kù)并關(guān)閉與該集群的連接。

步驟 11. 連接數(shù)據(jù)庫(kù)

您必須為 MongoDB 給出的字符串聲明一個(gè)變量。重要提示:將 替換為您之前創(chuàng)建的實(shí)際密碼。

 const connectionString = 'mongodb+srv://juliafm:<password> @cluster0.qvesujr.mongodb.net/?retryWrites=true&w=majority'

要完成與外部數(shù)據(jù)庫(kù)的連接,請(qǐng)?zhí)砑右韵麓a行:

 MongoClient.connect(connectionString)  
 .then(客戶(hù)端 => {  
 console.log(`連接到數(shù)據(jù)庫(kù)`)  
 const db = client.db('to-do-app')  
 const tasksCollection = db.collection('tasks')  
 }) //CRUD 請(qǐng)求 .catch(錯(cuò)誤 => 控制臺(tái).錯(cuò)誤(錯(cuò)誤))

代碼說(shuō)明:

  • 創(chuàng)建一個(gè)帶有承諾的函數(shù)
  • 告訴(然后)客戶(hù)下一步該做什么
  • 將其作為參數(shù)傳遞給箭頭函數(shù)
  • 創(chuàng)建一個(gè) console.log 語(yǔ)句以確保您已連接
  • 指定您要連接的數(shù)據(jù)庫(kù)和集合
  • 添加一個(gè) catch 語(yǔ)句,看看我們是否得到任何錯(cuò)誤

太棒了,你都準(zhǔn)備好了。如果您現(xiàn)在運(yùn)行服務(wù)器,您應(yīng)該會(huì)在終端上看到“已連接到數(shù)據(jù)庫(kù)”。

這是你到目前為止的代碼:

 常量表達(dá) = 要求('表達(dá)')  
 常量應(yīng)用程序 = 快遞()  
 const MongoClient = require('mongodb').MongoClient  
 const connectionString = 'mongodb+srv://juliafm:[[email protected]](/cdn-cgi/l/email-protection)/?retryWrites=true&w=majority' MongoClient.connect(connectionString)  
 .then(客戶(hù)端 => {  
 console.log('連接到數(shù)據(jù)庫(kù)')  
 const db = client.db('to-do-app')  
 const taskCollection = db.collection('tasks') //CRUD 請(qǐng)求  
 })  
 .catch(錯(cuò)誤=> console.error(錯(cuò)誤))

步驟 12. 設(shè)置 .env

出于安全原因,我想向您展示如何將 MongoDB 連接字符串移動(dòng)到 .env 文件。

為此,您必須在項(xiàng)目文件夾中創(chuàng)建一個(gè) .env 文件。在此文件中,創(chuàng)建一個(gè)變量 DB_STRING 并粘貼您的連接字符串(不要忘記將占位符更改為您的實(shí)際密碼)。

返回到您的 server.js 文件,刪除保存連接字符串的變量,然后添加它:

 需要('dotenv').config()  
 常量 connectionString = process.env.DB_STRING;

最后,創(chuàng)建一個(gè) .gitignore 文件并在那里添加 .env (你會(huì)看到我已經(jīng)添加了 node_modules,因?yàn)樗鼈兲亓耍瑳](méi)有必要將它們推送到 Github)。

.gitignore 文件指定了 Git 應(yīng)該忽略的故意未跟蹤的文件。

請(qǐng)記住,如果您要推送到 Heroku,則必須從 .gitignore 文件中刪除 .env ,因?yàn)樗枰L問(wèn)數(shù)據(jù)庫(kù)?;蛘撸梢酝ㄟ^(guò) Heroku 儀表板中應(yīng)用程序的“設(shè)置”選項(xiàng)卡添加此配置變量。

結(jié)論

我希望本教程對(duì)您有所幫助。如果您還有任何問(wèn)題,請(qǐng)告訴我;我總是很樂(lè)意提供幫助!

如果您喜歡這個(gè)出版物,請(qǐng)?jiān)?Medium 上關(guān)注我以獲取我的最新文章。

版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明

本文鏈接:https://www.qanswer.top/33100/15141308

到此這篇關(guān)于使用 Node.js 將 MongoDB 連接到您的應(yīng)用程序的文章就介紹到這了,更多相關(guān)Node.js連接MongoDB內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 你或許不知道的一些npm實(shí)用技巧

    你或許不知道的一些npm實(shí)用技巧

    這篇文章主要給大家介紹了一些你或許不知道的npm實(shí)用技巧,分享一些 npm 包管理工具的實(shí)用小竅門(mén),希望能夠略微提高下前端、Node.js 開(kāi)發(fā)者的生活質(zhì)量,需要的朋友可以參考下
    2019-07-07
  • node.js?readline和line-reader逐行讀取文件方法

    node.js?readline和line-reader逐行讀取文件方法

    Readline是Node的原生模塊。它是專(zhuān)門(mén)為從任何可讀流逐行讀取內(nèi)容而開(kāi)發(fā)的。它可用于從命令行讀取數(shù)據(jù),line-reader模塊是Node.js中逐行讀取文件的開(kāi)源模塊。它不是本地模塊,所以你需要使用npm(節(jié)點(diǎn)包管理器)安裝它
    2022-10-10
  • node.js中的fs.realpathSync方法使用說(shuō)明

    node.js中的fs.realpathSync方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.realpathSync方法使用說(shuō)明,本文介紹了fs.realpathSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • gulp加批處理(.bat)實(shí)現(xiàn)ng多應(yīng)用一鍵自動(dòng)化構(gòu)建

    gulp加批處理(.bat)實(shí)現(xiàn)ng多應(yīng)用一鍵自動(dòng)化構(gòu)建

    這篇文章主要給大家介紹了利用gulp加上批處理(.bat)實(shí)現(xiàn)ng多應(yīng)用一鍵自動(dòng)化構(gòu)建的相關(guān)資料,文中介紹的很詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • 淺談關(guān)于axios和session的一些事

    淺談關(guān)于axios和session的一些事

    這篇文章主要給大家介紹了關(guān)于axios和session的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看詳細(xì)的介紹吧。
    2017-07-07
  • 手寫(xiě)簡(jiǎn)版無(wú)三方依賴(lài)的Node-Server實(shí)現(xiàn)示例

    手寫(xiě)簡(jiǎn)版無(wú)三方依賴(lài)的Node-Server實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了手寫(xiě)簡(jiǎn)版無(wú)三方依賴(lài)的Node-Server實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • node.js-fs文件系統(tǒng)模塊這是你知道嗎

    node.js-fs文件系統(tǒng)模塊這是你知道嗎

    這篇文章主要為大家詳細(xì)介紹了node.js-fs文件系統(tǒng)模塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • node版本管理器Volta的簡(jiǎn)單使用

    node版本管理器Volta的簡(jiǎn)單使用

    Volta是一款強(qiáng)大的JavaScript工具管理器,它簡(jiǎn)化了命令行工具的安裝和管理,本文主要介紹了node版本管理器Volta的簡(jiǎn)單使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • Sublime Text3 配置 NodeJs 環(huán)境的方法

    Sublime Text3 配置 NodeJs 環(huán)境的方法

    大家都知道,Sublime Text 安裝插件一般從 Package Control 中直接安裝即可,當(dāng)我安裝 node js 插件時(shí)候,直接通過(guò)Package Control 安裝,雖然插件安裝成功了,但是找不到配置文件 Nodejs.sublime-build 來(lái)更改一些配置
    2020-05-05
  • Node.js進(jìn)程退出的深入理解

    Node.js進(jìn)程退出的深入理解

    NodeJS可以感知和控制自身進(jìn)程的運(yùn)行環(huán)境和狀態(tài),也可以創(chuàng)建子進(jìn)程并與其協(xié)同工作,這使得NodeJS可以把多個(gè)程序組合在一起共同完成某項(xiàng)工作,下面這篇文章主要給大家介紹了關(guān)于Node.js進(jìn)程退出的相關(guān)資料,需要的朋友可以參考下
    2022-04-04

最新評(píng)論