在Mongoose中保存方法失败

我试图在Mongoose中使用save() ,但看到插入了空的集合。

我的照片架构是这样的:

 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); } 

在我的路线上我做

 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(); }); 

我在这里用save错误吗? 我知道我可以定义像savePhoto和导出它的方法,但如何直接使用save()

像这样尝试,即将数据直接传递给构造函数,并在asynchronous时结束响应stream。 save完成(也可以添加error handling)。

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

在Mongoose文档中描述的模型上也有简写create方法

像这样尝试,如果有任何问题,您将能够看到问题:

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