将 MongoDB 连接到我的 MEAN 程序
Connect MongoDB to my MEAN program
我想编写一个 MEAN 堆栈程序来读取数据并将数据添加到 mongodb 数据库中。
我的程序现在可以在没有 mongodb 部分的情况下运行(使用数组而不是 db)。
你能帮我把它连接到 mongo 吗?在搜索它时,我绝对迷路了。
谢谢
你应该看看猫鼬:
这是来自 thinkster 的 MEAN 堆栈入门教程:
https://thinkster.io/angulartutorial/mean-stack-tutorial/
因为听起来您掌握了 AngularJS 的一面,所以您最感兴趣的是下半场。它使用您可能想用也可能不想用的 Mongoose,但它应该是一个很好的例子来说明如何组合在一起。
MongoDB 文档也很有用,因为您在 Javascript 中完成所有操作。
您需要在节点服务器端创建连接。这是我当前的堆栈设置。
这是我的 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
猫鼬配置:
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
}
此设置正在搜索您当前所在的节点环境。生产或开发,开发会在本地主机上建立连接。生产转到 mongolab,我在那里建立了一个数据库。
我想编写一个 MEAN 堆栈程序来读取数据并将数据添加到 mongodb 数据库中。 我的程序现在可以在没有 mongodb 部分的情况下运行(使用数组而不是 db)。 你能帮我把它连接到 mongo 吗?在搜索它时,我绝对迷路了。 谢谢
你应该看看猫鼬:
这是来自 thinkster 的 MEAN 堆栈入门教程: https://thinkster.io/angulartutorial/mean-stack-tutorial/
因为听起来您掌握了 AngularJS 的一面,所以您最感兴趣的是下半场。它使用您可能想用也可能不想用的 Mongoose,但它应该是一个很好的例子来说明如何组合在一起。
MongoDB 文档也很有用,因为您在 Javascript 中完成所有操作。
您需要在节点服务器端创建连接。这是我当前的堆栈设置。
这是我的 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
猫鼬配置:
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
}
此设置正在搜索您当前所在的节点环境。生产或开发,开发会在本地主机上建立连接。生产转到 mongolab,我在那里建立了一个数据库。