搭建云端数据库【MongoDB】
MongoDB官方網站:http://www.cloud.mongodb.com
進入官網后首先點擊TRY FREE
創(chuàng)建database
數(shù)據(jù)庫創(chuàng)建完成
點擊連接按鈕
選擇第二個選項
復制連接到項目中,輸入密碼和數(shù)據(jù)庫名稱
在服務端做一些相關配置
1、在根目錄下新建db目錄并創(chuàng)建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提供了一個直觀的、基于模式的解決方案來建模應用程序數(shù)據(jù),
所以,我選擇使用Mongoose作為連接MongoDB的中間件。
它的優(yōu)點:
·直觀
·安裝即用(包括內置類型轉換、查詢構建、業(yè)務邏輯掛鉤、驗證等等)
先cd到項目目錄下,完成對mongoose中間件的安裝
npm install mongoose --save在app.js中加入以下代碼
// 引入mongoose中間件 const mongoose = require('mongoose') const dbconfig = require('./db/config') // 連接數(shù)據(jù)庫 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的第二個參數(shù)讓傳的是個函數(shù),而不是函數(shù)的返回值
2、是什么意思?
緣起
在JS中,函數(shù)是非常單純的,僅僅只是函數(shù)而已,一個函數(shù)在被調用之前,對于它來說this的指向是不知道的。
默認情況下,誰調用函數(shù),this指向誰。
解釋
也就是說,當傳遞函數(shù)交給別人執(zhí)行的時候,對于函數(shù)來說this指向新的調用者了。
console.error(),調用error函數(shù)的時候,this指向console對象,但是你把error函數(shù)傳給別的東西的時候,this也變成了別的東西。
解決
如何保證this的指向不變呢?答案就是函數(shù)的原型鏈上有一個bind函數(shù),這個函數(shù)可以設置函數(shù)的this指向,并且綁定后是永久的不允許修改了的,就是不會變了,bind函數(shù)的第一個參數(shù)就是this需要指向的對象。 – 出自https://segmentfault.com/q/1010000014280054
3、出現(xiàn)以下界面則為連接成功
總結
以上是生活随笔為你收集整理的搭建云端数据库【MongoDB】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TOEFL备考计划
- 下一篇: mysql 1044_mysql重置密码