我在Node中运行以下代码时遇到此错误 第一个文件是dao文件,它连接到mongodb 第二个是服务器文件 最后一个是index1文件
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>
<% } %>
我做错了什么?
答案 0 :(得分:1)
将Var
更改为var
。资本化对关键字很重要。
答案 1 :(得分:0)
可能是你的问题在这一行:
exports.Index= mongoose.model('Index', IndexSchema);
由于:
在任何情况下,如果尝试将新对象分配给导出,请确保我们这样做。
exports = module.exports = {};
如果按照错误的方式执行,module.exports仍将指向作为模块实例的一部分创建的对象。
exports = {};
因此,向上述导出对象添加任何内容都不会对module.exports对象产生任何影响,并且任何内容都不会作为require的一部分导出或返回。
所以试试:
module.exports.Index= mongoose.model('Index', IndexSchema);
希望帮助你!!!