gpt4 book ai didi

angularjs - 将 MongoDB 连接到我的 MEAN 程序

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:55 24 4
gpt4 key购买 nike

我想编写一个 MEAN 堆栈程序,用于读取数据并将其添加到 mongodb 数据库中。我的程序现在可以在没有 mongodb 部分的情况下运行(使用数组而不是数据库)。你能帮我把它连接到 mongo 吗?我在搜索它时完全迷失了方向。谢谢。

最佳答案

您需要在 Node 服务器端创建连接。这是我当前的堆栈设置。

这是我的 server.js 文件

// modules =================================================
var express = require('express'),
mongoose = require('mongoose');


// Node Environment Configuration ===========================================
var env = process.env.NODE_ENV = process.env.NODE_ENV || 'development',
config = require('./server/config/config')[env];


// Create an Instance of Express ===========================================
var app = express();


// Modules of app ===========================================
require('./server/config/express.js')(app, config); // Express Configuration
require('./server/config/mongoose.js')(config); // Database Configuration
require('./server/config/routes.js')(app); // Routes Configuration
require('./server/config/passport.js')(); // Passsport Configuration


// Databse Connection ==================================================
mongoose.connect(config.db);
var db = mongoose.connection;


// start app ===============================================
app.listen(config.port);
console.log('listening on port ' + config.port); // shoutout to the user
exports = module.exports = app; // expose app

Mongoose 配置:

module.exports = function(config) {
mongoose.connect(config.db);
var db = mongoose.connection;
db.on('error', function callback () {
console.log("Connection error");
});
db.once('open', function callback () {
console.log("Mongo working!");
});
}

这是我的数据库配置

var path = require('path');
var rootPath = path.normalize(__dirname + '/../../');

module.exports = {
development:{
db: 'mongodb://localhost:27017/mean-demo',
rootPath: rootPath,
port: process.env.PORT || 3000
},
production:{
db: 'mongodb://mypath:pathname@ds041160.mongolab.com:47350/pathname',
rootPath: rootPath,
port: process.env.PORT || 80

}


}

这是我的快速模块:

var express         = require('express'),
logger = require('morgan'),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
cookieParser = require('cookie-parser'),
session = require('express-session'),
passport = require('passport');


module.exports = function(app, config){

app.set('view engine', 'ejs');
app.set('views', 'server/views');
app.use(cookieParser()); //required for auth sessions
app.use(bodyParser()); //must come after cookie parser
app.use(session({secret: 'healing center'})); //required for auth sessions
app.use(passport.initialize()); //initialize passport middleware
app.use(passport.session()); //telling passport to use sessions
app.use('/js', express.static(config.rootPath + '/client/js'));
app.use(methodOverride('X-HTTP-Method-Override')); // simulate delete/put
app.use(express.static(config.rootPath + '/client')); // set the static files location /client/img will be /img for users
}

此设置正在搜索您当前所在的 Node 环境。生产或开发,开发会在本地主机上连接。生产转到 mongolab,我在那里设置了数据库。

关于angularjs - 将 MongoDB 连接到我的 MEAN 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27904166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com