搭建云端数据库【MongoDB】
MongoDB官方網站:http://www.cloud.mongodb.com
進入官網后首先點擊TRY FREE
創建database
數據庫創建完成
點擊連接按鈕
選擇第二個選項
復制連接到項目中,輸入密碼和數據庫名稱
在服務端做一些相關配置
1、在根目錄下新建db目錄并創建config.js文件輸入以下連接信息
module.exports = {// dbs: 'mongodb://139.159.253.110:27017/test1'dbs: 'mongodb+srv://<username>:<passwd>@cluster0.mw8jo.mongodb.net/<dbname>?retryWrites=true&w=majority' }2、修改根目錄app.js
這里使用了mongoose作為中間件作為與mongodb的連接方式。
Mongoose提供了一個直觀的、基于模式的解決方案來建模應用程序數據,
所以,我選擇使用Mongoose作為連接MongoDB的中間件。
它的優點:
·直觀
·安裝即用(包括內置類型轉換、查詢構建、業務邏輯掛鉤、驗證等等)
先cd到項目目錄下,完成對mongoose中間件的安裝
npm install mongoose --save在app.js中加入以下代碼
// 引入mongoose中間件 const mongoose = require('mongoose') const dbconfig = require('./db/config') // 連接數據庫 mongoose.connect(dbconfig.dbs, {useNewUrlParser: true,useUnifiedTopology: true}) const db = mongoose.connection // 連接異常,console.error.bind的寫法是什么意思?大概就是如果有異常就指定在控制臺輸出錯誤的意思吧 db.on('error', console.error.bind(console, 'connection error:')); // 或許也可以這樣寫:db.on('error', () => { console.error('connection error:') }; db.once('open', function() {console.log('mongoose 連接成功') });console.error.bind為什么這么寫?是什么意思?
1、為什么這么寫?
因為db.on的第二個參數讓傳的是個函數,而不是函數的返回值
2、是什么意思?
緣起
在JS中,函數是非常單純的,僅僅只是函數而已,一個函數在被調用之前,對于它來說this的指向是不知道的。
默認情況下,誰調用函數,this指向誰。
解釋
也就是說,當傳遞函數交給別人執行的時候,對于函數來說this指向新的調用者了。
console.error(),調用error函數的時候,this指向console對象,但是你把error函數傳給別的東西的時候,this也變成了別的東西。
解決
如何保證this的指向不變呢?答案就是函數的原型鏈上有一個bind函數,這個函數可以設置函數的this指向,并且綁定后是永久的不允許修改了的,就是不會變了,bind函數的第一個參數就是this需要指向的對象。 – 出自https://segmentfault.com/q/1010000014280054
3、出現以下界面則為連接成功
總結
以上是生活随笔為你收集整理的搭建云端数据库【MongoDB】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TOEFL备考计划
- 下一篇: 杨建允:2022年社交电商要如何突围、会