Node.js中'TypeError:Points不是函数'
问题描述:
我在节点 中运行以下代码时收到此错误,第一个文件是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>
<% } %>
我是什么做错了吗?
答
更改Var
至var
。大写关键字重要。
+0
我改变它,我总是有同样的错误! –
答
可能是你的问题是在这条线:
exports.Index= mongoose.model('Index', IndexSchema);
因为:
在任何情况下,如果试图分配一个新的对象,以确保出口我们这样来做。
exports = module.exports = {};
如果我们按照错误的方式进行,module.exports仍然会指向作为模块实例的一部分创建的对象。
exports = {};
由于作为结果添加任何上述出口对象不会有任何效果module.exports对象,并没有将出口或返回的需要一部分。
所以尝试:
module.exports.Index= mongoose.model('Index', IndexSchema);
希望可以帮助你!
+0
我做到了,我总是有同样的问题。这真的很奇怪! –
将您的代码直接添加到带有文件名称的问题,而不是添加图像。详情请看这里https://stackoverflow.com/editing-help https://stackoverflow.com/help/mcve – Ali786
好吧,我添加了代码。谢谢 –
你可以试试这个'module.exports.Points = Points'; – Subburaj