2015-11-06 79 views
0

我是MongoDB的新手,已經感受到在Windows上使用它時遇到的挫折感。我的問題是我正在通過POSTMAN創建一個USER對象。NodeJS不通過Postman將對象鍵值對傳遞給MongoDB

這裏是我的server.js用於發佈用戶到MongoDB的代碼。
P.S.另外,Sublime僅突出顯示.name,但不是.username和.password。

apiRouter.route('/users') 

    // create a user (accessed at POST http://localhost:8080/users) 
    .post(function(req, res) { 

     var user = new User();  // create a new instance of the User model 
     user.name = req.body.name; // set the users name (comes from the request) 
     user.username = req.body.username; // set the users username (comes from the request) 
     user.password = req.body.password; // set the users password (comes from the request) 

     user.save(function(err) { 
      if (err) { 
       // duplicate entry 
       if (err.code == 11000) 
        return res.json({ success: false, message: 'A user with that username already exists. '}); 
       else 
        return res.send(err); 
      } 

      // return a message 
      res.json({ message: 'User created!' }); 
     }); 

    }) 

也許我不知道一些注意事項。謝謝。

+0

你從郵遞員得到什麼錯誤? – inspired

+0

@inspired無。它吐出成功消息 - 用戶創建。從通過的參數中只有.username被添加。 –

+0

對不起,你的錯誤是什麼?如果你在保存前獲得了console.log(req.body.username,req.body.password);' ? – inspired

回答

0

請確保您在請求參數解析後連接到您的mongoDB實例。

例如:

//parse request parameters 

app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

//connect to MongoDB 

mongoose.connect('mongodb://localhost:27017');