2016-12-05 57 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