2016-07-17 63 views
2

我試圖在Mongoose中使用save(),但看到空集合被插入。保存方法在Mongoose失敗

我的照片模式是這樣的:

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

var photosSchema = mongoose.Schema({ 
    photos: { 
     type: String 
    }, 
    caption: { 
     type: String 
    } 
}); 

var Photos = module.exports = mongoose.model('photos', photosSchema); 

module.exports.getAllPhotos = function(callback){ 
    Photos.findAll(callback); 
} 

,並在我的路線,我用我錯save這裏做

var Photo = require('../models/photos'); 
router.post('/upload_photo', upload.any(), function(req, res, next) { 
    var photo = new Photo(); 
    var data = { 
     photos:'abc.jpg', 
     caption:'something..' 
    } 
    photo.save(data); 
    res.end(); 
}); 

?我知道我可以定義像savePhoto並導出它的方法,但是如何直接使用save()

回答

1

嘗試像這樣,即將數據直接傳遞給構造函數,並在異步時結束響應流。 save已完成(也可能會添加錯誤處理)。

var photo = new Photo({ 
    photos:'abc.jpg', 
    caption:'something..' 
}); 
photo.save(function(err) { 
    res.end(); 
}); 

還有作爲在Mongoose docs

0

描述嘗試這樣,你將能夠看到的問題,如果有任何型號的簡寫create方法:

var data = { 
    photos:'abc.jpg', 
    caption:'something..' 
}; 
var photo = new Photo(data); 
photo.save(function (err) { 
    if (err) console.log(err); 
    res.end(); 
});