当数据库在服务器文件夹之外时如何启动 Mongoose 连接?
How to start Mongoose connection when the database is outside of the server folder?
当数据库文件夹位于服务器文件夹之外(服务器文件夹是包含我的 express
应用程序的文件夹)时,是否可以启动与 Mongoose 的连接。
这是我的结构
Server
app.js
Database
index.js
schemas
userSchema.js
在我的 index.js
文件夹中我有:
var mongoose = require('mongoose');
var credentials = require('../config/credentials');
var userModel = require('./schemas/user');
//Connections
var developmentDb = credentials.testConnection;
var database;
//If in development
if (process.env.NODE_ENV === 'development') {
//set database to development one
database = developmentDb;
}
//Connect to the database
mongoose.connect(database);
//Get an instance of the connection to our database
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'Connection error:'));
db.once('open', function () {
console.log('Database connection successfully opened at ' + database);
});
exports.user = userModel;
但是我在启动节点应用程序时从未看到 database connection successfully opened
消息...
您的项目结构没有任何问题,您可以按任何方式将其拆分到文件夹中。
实际问题是您没有在您的应用程序中 require
ing 您的 Database/index.js
:
require('../Database');
并且因为您没有 require
执行它,所以 node.js
没有执行它。
当数据库文件夹位于服务器文件夹之外(服务器文件夹是包含我的 express
应用程序的文件夹)时,是否可以启动与 Mongoose 的连接。
这是我的结构
Server
app.js
Database
index.js
schemas
userSchema.js
在我的 index.js
文件夹中我有:
var mongoose = require('mongoose');
var credentials = require('../config/credentials');
var userModel = require('./schemas/user');
//Connections
var developmentDb = credentials.testConnection;
var database;
//If in development
if (process.env.NODE_ENV === 'development') {
//set database to development one
database = developmentDb;
}
//Connect to the database
mongoose.connect(database);
//Get an instance of the connection to our database
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'Connection error:'));
db.once('open', function () {
console.log('Database connection successfully opened at ' + database);
});
exports.user = userModel;
但是我在启动节点应用程序时从未看到 database connection successfully opened
消息...
您的项目结构没有任何问题,您可以按任何方式将其拆分到文件夹中。
实际问题是您没有在您的应用程序中 require
ing 您的 Database/index.js
:
require('../Database');
并且因为您没有 require
执行它,所以 node.js
没有执行它。