2017-03-10 8 views
0

外部ライブラリなしでES6でこの動作を実行できるかどうかは疑問です。私は.save関数を参照しているので、エラーが発生し、 "未定義のプロパティ 'saveInfo'を読み取ることができないと言います。 ES6でES6で関数mongooseを保存

module.exports = Info = mongoose.model('userInfo',schema);

schema.statics.saveInfo = function(info,callback){ 

     var toSet = new Info(info); 

     // I want this save on es6 
     toSet.save(function(err){ 
     if (err){ 
      return handleError(err); 
     }else{ 
      callback("Success!..."); 
     } 
     }); } 
、これはSTHこの

schema.statics.saveInfo = (info, callback) => { 

     const toSet = new Info(info); 
     toSet.save(err => { 
     if (err){ 
      return handleError(err); 
     }else{ 
      callback("Success!..."); 
     } 
     }); 

export default Info = mongoose.model('userInfo',schema); のようですが、私は情報が定義されていないというエラーを得ました。

+1

ECMAScript 2015は下位互換性がありますので、動作しなかった新しい機能を使用しようとしたようです。正確に動作しないものについては、より具体的に記述してください。また、その最後の行は有効な構文ではありません。 –

+0

'Schema'ではなく' schema'を渡すことを意味しましたか?また、 'toSet'とは何か、なぜ' Save'は使われていないのですか? – Bergi

+0

ES5で動作させましたか?そのコードを表示してください。さもなければ、これは実際にはES6とは関係がありません。あなたのコードは新しいES6機能を使用していません。 – Bergi

答えて

0

問題は、それが輸出のデフォルトを使用していた、私はそれを をエクスポートできるようになる前に前に変数を作成する必要がありましたので、私はこれまでこの
export default Info = mongoose.model('userInfo',schema);

から私のコードを変更:

const Info = mongoose.model('userInfo',UserSchema);
export default Info;

関連する問題