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