2014-11-26 4 views
0

백엔드에서 Node.js와 MongoDB를 사용하는 앱을 개발 중입니다. 시나리오는 다음과 같습니다. 사용자가 모든 세부 정보를 채우고 을 서버에 게시합니다. 데이터는 ObjectID가있는 MongoDB 데이터베이스에 저장됩니다. 이제 그 ObjectID를 사용자에게 응답으로 보내려고합니다. [사용자 스키마는 아래와 같습니다Node.js에서 응답을 보내는 방법

router.route('/user') 

.post(function(req, res) { 

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

     user.email = req.body.email; // set the user email (comes from the 
                     // request) 
     user.age = req.body.age; // set the user age(comes 
     user.save(function(err) { 
       if (err) { 
         res.send(err); 
       } 

       res.json({ 
         message: 'User Created!', 

       }); 
     }); 

:

이 코드는 아래와 같습니다

var mongoose  = require('mongoose'); 
var Schema  = mongoose.Schema; 

var UserSchema = new Schema({ 
     email:       String, 
     name:       String, 
     age:    String, 

}); 

module.exports = mongoose.model('User', UserSchema); 

어떻게 응답으로 OBJECTID 것을 보내드립니다. 이 MongoDB를뿐만 아니라 같은 몽구스로

감사

+0

한 점을 명확히하십시오 :

collection.find(/* search criteria */, function (err, data) { //same as before }); 
Prisoner

+1

콜백 함수를'function (err, data)'로 변경합니다. 데이터 매개 변수는 저장된 사용자의 ID를 갖습니다. – fmodos

+0

@Prisoner : 예 나는 몽구스를 사용하고 있습니다. – Test123

답변

2

당신이 ODM을 사용하고있는 것 같다을 달성 할 수있는 방법을 가르쳐주세요. ODM의 설명서에서 원하는 작업을 확인해야합니다. 당신이 누구 이드 원하는 기록을 가지고하지만 일단 일반적으로, 당신은 같은 것을 할 것 : 여기

user.save(function (err, data) { 
    if(err) { 
    //handle the error 
    } else { 
    res.send(200, data._id); 
    } 
}); 

을, 우리는 모든 몽고 기록의 OBJECTID는 자사의 _id 속성으로 저장되어 있다는 사실을 활용하고 있습니다. ODM이 아닌 Mongo 만 사용하는 경우 레코드가 저장되면 해당 레코드를 검색하여 해당 _id 속성을 얻을 수 있습니다. - 당신이 MongoDB를 얘기 몽구스를 사용하고

user.save(function(err, description){ 
    var descriptionId = description._id; 

    res.send(descriptionId); 
}); 
+0

감사합니다. @A. Duff ... 내가 할게 ... 내가 너에게 최대한 빨리 답장을 보내고있다 – Test123

+0

응답으로 null을 얻는 것 – Test123

+0

[Mongoose documentation] (http://mongoosejs.com/docs/api.html#model_Model-save)에 따르면, 저장된 데이터를 두 번째 매개 변수로 전달해야합니다. _id 대신 id를 출력 해보십시오. 또한 반환 된 전체 객체를 인쇄하여 현재 얻고있는 것을 확인하십시오. –

0

는이 같은 콜백에서 두 번째 매개 변수를해야합니까? 사용자 모델에 대한 코드를 제공 할 수 있습니까?
관련 문제