2017-07-17 4 views
0

ノードで次のコードを実行中にこのエラーが発生します 最初のファイルはmongodbに接続するdaoファイル 2番目はサーバーファイルです と最後のものは'TypeError:Node.jsのPointsは関数ではありません'

var mongoose = require('mongoose'); 
mongoose.Promise = require('bluebird'); 

mongoose.connect('mongodb://localhost:27017/base', function(err) { 
if (err) { 
    throw err; 
} 

var Schema = mongoose.Schema; 

var IndexSchema = new Schema({ 
    indexp1: Number, 
    date:Number, 
    heure:String 
}); 

var Index = mongoose.model('Index', IndexSchema); 

exports.Index= mongoose.model('Index', IndexSchema); 

var Points = function(date_debut,date_fin){ 
    Index.find({}, function(err, data){ 
     if(err) throw err; 
     if(data.length > 1){ 
     res.render("index1", {datas: data}) 
     } 
     else{ 
     res.render("index1", {datas: "No names added yet!"}) 
     } 
     return(datas);  
}); 

}; 

module.exports = Points; 

var dao = require('./daotest.js'); 
dao.Points(15,15); 

<% for (var i = 0; i < datas.length; i++) {%> 
<p> <%= datas[i].indexp1 %> </p> 
<% } %> 

index1のファイル私は何をしていますです間違っている?

+2

イメージを追加する代わりにファイル名の質問に直接コードを追加します。詳細についてはこちらを参照してください。https://stackoverflow.com/editing-help https://stackoverflow.com/help/mcve – Ali786

+0

私はコードを追加しました。ありがとう –

+0

これを試すことができます 'module.exports.Points = Points'; – Subburaj

答えて

1

Varからvarに変更してください。キーワードの大文字と小文字は重要です。

+0

私はそれを変更し、私はいつも同じエラーが発生しています! –

0

あなた問題がある可能性がありますが、この行にあります。

exports.Index= mongoose.model('Index', IndexSchema); 

ため:いずれの場合で

輸出に新しいオブジェクトを割り当てるしようとした場合、我々はこのようにそれを行うことを確認します。

exports = module.exports = {}; 

私たちがそれを間違って行うと、module.exportsはモジュールインスタンスの一部として作成されたオブジェクトを指しています。上記の輸出は、オブジェクトと何がエクスポートまたは必要の一部として返されますmodule.exportsはする効果がありませんオブジェクトに何かを追加した結果として

exports = {}; 

ので、試してみてください。

module.exports.Index= mongoose.model('Index', IndexSchema); 

希望に役立ちます!

+0

私はいつも同じ問題を抱えていました。それは本当に奇妙です! –

関連する問題