2017-07-17 51 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

我做到了,我总是有同样的问题。这真的很奇怪! –

相关问题