我尝试在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()
?
答案 0 :(得分:1)
尝试这样,即将数据直接传递给构造函数,并在异步时结束响应流。 save
已完成(也可能添加错误处理)。
var photo = new Photo({
photos:'abc.jpg',
caption:'something..'
});
photo.save(function(err) {
res.end();
});
中描述的模型上还有一个速记create
方法
答案 1 :(得分:0)
尝试这样,如果有任何问题,您将能够看到问题:
var data = {
photos:'abc.jpg',
caption:'something..'
};
var photo = new Photo(data);
photo.save(function (err) {
if (err) console.log(err);
res.end();
});