2016-12-05 54 views
0

我想建立我的第一个MEAN堆栈应用程序,我使用邮递员来检查我的数据库中的插入和我得到一个消息,说“用户创建!”,但在检查MongoLab中的数据库。我没有在集合中插入任何文档。这里是我的代码:Mongoose不插入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:[email protected]: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); 
+0

代码实际上工作我正在测试错误的方式。谢谢! –

回答

1

你的代码工作顺利,当我运行。

两件事情我也注意到:

  1. package.json文件包括mongojs时,似乎习惯不。当您拨打npm install时,mongooose软件包将提取所需的mongodb相关性。

  2. 您的连接字符串以明文形式包含在存储库中。尝试养成通过配置文件将任何敏感信息导入到应用程序的习惯。

例如,创建配置文件,例如, ./config/db.js

module.exports = { 
    'uri' : 'mongodb://user:[email protected]:port1/dbname' 
} 

然后将文件导入到你的应用程序:

var dbConfig = require('./config/db.js'); 

变量可以被用来在你的代码中使用:

mongoose.connect(dbConfig.uri, function(err){ ... }) 

最后,添加该文件(./config/db.js )到您的.gitignore