2016-07-17 2 views
2

モンゴースで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); 
} 

、私のルートに私はここで間違っ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(); 
}); 
関連する問題