Mongoose 不插入 MongoLab
Mongoose doesn't insert in MongoLab
我正在尝试构建我的第一个 MEAN Stack 应用程序,我正在使用邮递员检查我在数据库中的插入,我收到一条消息说 "user created!",但在检查 MongoLab 中的数据库之后。我没有在集合中插入任何文档。这是我的代码:
这是我的存储库,以备不时之需:https://github.com/pevargasg/joberistyNode
app.js
var express = require('express')
var app = express()
var morgan = require('morgan');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
//My one modules
var User = require('./app/models/user');
var Company = require('./app/models/company');
//Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(morgan('dev'));
//Connection to DB
//mongoose.Promise = global.Promise;
//Feel free to use your own mongoLab link below for testing purposes
mongoose.connect('mongodb://user:password@dsXXXXXX.mlab.com:19768/jobersity',function(err){
if(err){
console.log("Not connection to DB" + err);
throw err;
}
else{
console.log("Connected to DB");
}
});
//Routes
/*app.get('/', function (req, res) {
res.send('Hello World!')
})*/
//Creating Users
app.post('/users',function(req,res){
//res.send('test');
var user = new User();
user.username = req.body.username;
user.password = req.body.password;
user.email = req.body.email;
/*user.firstName = req.body.firstName;
user.lastName = req.body.lastName;
user.major = req.body.major;*/
//Save user
user.save();
res.send('user created!');
});
user.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
//Table for usersSchema
var UserSchema = new Schema({
username:{type: String, lowercase: true, required: true, unique: true},
password:{type: String, required: true},
email:{type: String, lowercase: true, required: true, unique: true},
/*firstName: {type: String, required: true},
lastName: {type: String, required: true},
major: {type: String, required: true},
jobsApplied:[{
title: String,
description: String,
position: String
}]*/
});
module.exports = mongoose.model('User', UserSchema);
当我 运行 您的代码成功运行时。
我注意到两件事:
您的 package.json
文件包含 mongojs
,但似乎未被使用。当您调用 npm install
.
时,mongooose
包将提取它所需的 mongodb 依赖项
您的连接字符串以明文形式包含在您的存储库中。尝试养成通过配置文件将任何敏感信息导入您的应用程序的习惯。
例如,创建一个配置文件,例如./config/db.js
:
module.exports = {
'uri' : 'mongodb://user:pwd@host1:port1/dbname'
}
然后将文件导入您的应用程序:
var dbConfig = require('./config/db.js');
然后可以在您的代码中使用该变量:
mongoose.connect( dbConfig.uri, function(err){ ... } )
最后,将此文件 (./config/db.js
) 添加到您的 .gitignore
。
我正在尝试构建我的第一个 MEAN Stack 应用程序,我正在使用邮递员检查我在数据库中的插入,我收到一条消息说 "user created!",但在检查 MongoLab 中的数据库之后。我没有在集合中插入任何文档。这是我的代码:
这是我的存储库,以备不时之需:https://github.com/pevargasg/joberistyNode
app.js
var express = require('express')
var app = express()
var morgan = require('morgan');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
//My one modules
var User = require('./app/models/user');
var Company = require('./app/models/company');
//Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(morgan('dev'));
//Connection to DB
//mongoose.Promise = global.Promise;
//Feel free to use your own mongoLab link below for testing purposes
mongoose.connect('mongodb://user:password@dsXXXXXX.mlab.com:19768/jobersity',function(err){
if(err){
console.log("Not connection to DB" + err);
throw err;
}
else{
console.log("Connected to DB");
}
});
//Routes
/*app.get('/', function (req, res) {
res.send('Hello World!')
})*/
//Creating Users
app.post('/users',function(req,res){
//res.send('test');
var user = new User();
user.username = req.body.username;
user.password = req.body.password;
user.email = req.body.email;
/*user.firstName = req.body.firstName;
user.lastName = req.body.lastName;
user.major = req.body.major;*/
//Save user
user.save();
res.send('user created!');
});
user.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
//Table for usersSchema
var UserSchema = new Schema({
username:{type: String, lowercase: true, required: true, unique: true},
password:{type: String, required: true},
email:{type: String, lowercase: true, required: true, unique: true},
/*firstName: {type: String, required: true},
lastName: {type: String, required: true},
major: {type: String, required: true},
jobsApplied:[{
title: String,
description: String,
position: String
}]*/
});
module.exports = mongoose.model('User', UserSchema);
当我 运行 您的代码成功运行时。
我注意到两件事:
您的
package.json
文件包含mongojs
,但似乎未被使用。当您调用npm install
. 时,您的连接字符串以明文形式包含在您的存储库中。尝试养成通过配置文件将任何敏感信息导入您的应用程序的习惯。
mongooose
包将提取它所需的 mongodb 依赖项
例如,创建一个配置文件,例如./config/db.js
:
module.exports = {
'uri' : 'mongodb://user:pwd@host1:port1/dbname'
}
然后将文件导入您的应用程序:
var dbConfig = require('./config/db.js');
然后可以在您的代码中使用该变量:
mongoose.connect( dbConfig.uri, function(err){ ... } )
最后,将此文件 (./config/db.js
) 添加到您的 .gitignore
。