当数据库在服务器文件夹之外时如何启动 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 消息...

您的项目结构没有任何问题,您可以按任何方式将其拆分到文件夹中。

实际问题是您没有在您的应用程序中 requireing 您的 Database/index.js:

require('../Database');

并且因为您没有 require 执行它,所以 node.js 没有执行它。