我有一个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