我有一個Node/Express應用程序,它使用Mongoose與MongoDB數據庫對話。 Express服務器配置在一個名爲server.js的文件中,模式位於單獨的models.js文件中。下列每一個項目和教程到目前爲止,我所看到的,我有mongoose.connect()在這兩個地方配置:爲什麼我們在Express服務器文件中導入Mongoose?
// server.js
const express = require('express');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const app = express();
mongoose.connect('mongodb://127.0.0.1/mydb');
// models.js
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const User = new Schema({
username: String,
password: { type: String, select: false },
name: String,
});
module.exports = mongoose.model('User', User);
我的問題是,因爲我已經在models.js進口貓鼬,我可以不要在server.js中完全跳過,只需在模型腳本本身中設置連接?當我只在處理模式時使用它時,將其導入並配置連接以及服務器配置的其餘部分有什麼意義?如果答案是肯定的,爲什麼沒有人這樣做?在這裏玩是否有性能優勢?
OOP中的這一課,我認爲我已經做了多年,現在沒有回答這個問題。在問題中很明顯,我沒有在server.js中的任何地方使用db或其連接。我調用它的唯一時間是使用模式,並且我已經在models.js文件中使用了連接語句和mongoose導入。這就是爲什麼我問爲什麼我們需要貓鼬或它在server.js中的設置。 – TheLearner
我對你有另一個驚喜。您還必須在路線文件中導入貓鼬。 – JavaEvgen