如何将猫鼬连接方法分离到另一个JS文件?
Posted
技术标签:
【中文标题】如何将猫鼬连接方法分离到另一个JS文件?【英文标题】:How to separate the mongoose connect method to another JS file? 【发布时间】:2021-01-26 11:58:55 【问题描述】:对于我的不和谐机器人,我正在考虑将 mongoose 连接方法和其他初始化分离到一个单独的 JS 文件中。我能够移动除了连接方法之外的所有东西。我不知道这是怎么做到的。
【问题讨论】:
如果它解决了您的查询,请将其标记为答案 【参考方案1】:试试下面的代码
// Declare mongoose as global
global.mongoose = require('mongoose');
// In Separate file
const url = "Your URL";
//BUILD A CONNECTION
mongoose.connect(url).then(() => console.log('Connected To database :)'))
.catch( err => console.log('error', err));
module.exports.mongoose = mongoose
// Schema File
const users = new mongoose.Schema(
name : String,
,
timestamps : true
)
module.exports = mongoose.model('users', users);
// In model Path
const usersModel = require('Schemas/users')
现在您可以使用 usersModel 查询文档/表格
【讨论】:
感谢您的回答。但我有几个疑问。为什么要导出为全局?如果不是全局的会发生什么? 您可以在不导出为全局的情况下执行此操作。您将需要导入所有文件。试一试。【参考方案2】:// suppose this filename is, mongoose.db.config.js
const mongoose = require("mongoose");
function mongooseConnectDB(uri)
mongoose
.connect(uri,
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
useCreateIndex: true,
)
.then((result) =>
console.log("Mongoose connected to ", result.connections[0].host)
)
.catch((err) => console.log("error connecting to the database", err));
module.exports = mongooseConnectDB;
现在在您的应用程序(main.js/index.js/server.js)中,您可以像这样简单地进行操作
const mongooseConnectDB = require("./mongoose.db.config");
mongooseConnectDB('url_of_your_db');
【讨论】:
以上是关于如何将猫鼬连接方法分离到另一个JS文件?的主要内容,如果未能解决你的问题,请参考以下文章