2017-07-17 55 views
0

我在節點 中運行以下代碼時收到此錯誤,第一個文件是dao文件,它連接到mongodb 第二個是服務器文件 ,最後一個是索引1文件Node.js中'TypeError: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> 
<% } %> 

我是什麼做錯了嗎?

+2

將您的代碼直接添加到帶有文件名稱的問題,而不是添加圖像。詳情請看這裏https://stackoverflow.com/editing-help https://stackoverflow.com/help/mcve – Ali786

+0

好吧,我添加了代碼。謝謝 –

+0

你可以試試這個'module.exports.Points = Points'; – Subburaj

回答

1

更改Varvar。大寫關鍵字重要。

+0

我改變它,我總是有同樣的錯誤! –

0

可能是你的問題是在這條線:

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

因爲:

在任何情況下,如果試圖分配一個新的對象,以確保出口我們這樣來做。

exports = module.exports = {}; 

如果我們按照錯誤的方式進行,module.exports仍然會指向作爲模塊實例的一部分創建的對象。

exports = {}; 

由於作爲結果添加任何上述出口對象不會有任何效果module.exports對象,並沒有將出口或返回的需要一部分。

所以嘗試:

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

希望可以幫助你!

+0

我做到了,我總是有同樣的問題。這真的很奇怪! –

相關問題