2017-09-22 7 views
0

を含むモジュールのエクスポート: のdoc/docRdvこれはモジュールの一部であるマングーススキーマ

module.exports = function (mongooseRdv){ 
    var RdvSchema = new Schema({ 
    Date: {type: Date}, 
    }); 

    var models ={ 
    Rdv : mongoose.model('Rdv',RdvSchema) 
    }; 

    return models; 
}  

これはmain.jsです:

var mongoose = require('mongoose'); 

mongoose.connect('mongodb://127.0.0.1/DocTest'); 

var docRdv = require('./doc/docRdv'); 

var Rdv1 = new models.Rdv({ 
    Date: new Date 
}); 

私は取得しています次のエラー:

ReferenceError: models is not defined 
at Object.<anonymous> (c:\DOCFLEET\Test\main.js:5:16) 
at Module._compile (module.js:570:32) 
at Object.Module._extensions..js (module.js:579:10) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
at Timeout.Module.runMain [as _onTimeout] (module.js:604:10) 
at ontimeout (timers.js:386:14) 
at tryOnTimeout (timers.js:250:5) 
at Timer.listOnTimeout (timers.js:214:5) 

誰でもどのように修正するかについてのアイデアですか?

+0

をエクスポートしますか?モジュールの中で関数の内容を宣言し、 'models'を返してください。 – alexmac

答えて

0

modelsを作成し、modelsを作成しない関数をエクスポートしています。

どちらかあなたがそこに機能を必要としないのはなぜmain

new docRdv().Rdv(...)を使用したり、機能を実行し、その結果

module.exports = (function (mongooseRdv){ 
    var RdvSchema = new Schema({ 
    Date: {type: Date}, 
    }); 

    var models ={ 
    Rdv : mongoose.model('Rdv',RdvSchema) 
    }; 

    return models; 
})(); 
+0

ありがとうGrégory。それは働いた。 – NelieluTu

関連する問題