2015-10-04 5 views
3

Я пытаюсь сохранить комментарии к сообщению. Когда я отправляю комментарий с клиентской стороны, комментарий должен быть сохранен с ObjectId сообщения, которое я собираю с почтовой страницы - req.body.objectId. Я попробовал метод ниже, но это только дает мне ОШИБКУ VALIDATION.Сохранение Mongoose с objectId

МОДЕЛЬ

var Comment = db.model('Comment', { 
    postId: {type: db.Schema.Types.ObjectId, ref: 'Post'}, 
    contents: {type: String, required: true} 
} 

POST

router.post('/api/comment', function(req, res, next){ 
    var ObjectId = db.Types.ObjectId; 
    var comment = new Comment({ 
     postId: new ObjectId(req.body.objectId), 
     contents: 'contents' 
    } 

Как я могу добиться этого? и является ли это правильным способом реализации таких функций? Заранее спасибо.

ответ

4

Это не правильный способ вставки ссылочных типизированных значений.

Вы должны сделать это, как,

router.post('/api/comment', function(req, res, next){ 
    var comment = new Comment({ 
     postId: db.Types.ObjectId(req.body.objectId), 
     contents: 'contents' 
    } 

Это будет работать, как вы хотели.

+0

Спасибо! Оно работает! – sawa