【发布时间】:2015-07-18 21:51:02
【问题描述】:
我正在使用 Node.JS 迈出第一步,但遇到了一个我无法弄清楚的奇怪问题。我有这个来自upcoming_events.js 文件的events 对象,我要像这样导出:
module.exports = function(passport, FacebookStrategy, config, mongoose) {
var fbEvent = new mongoose.Schema({
eventID: String,
eventName: String,
eventPic: String,
rsvp_list: Array,
category: String
})
var eventModel = mongoose.model('fbEvent', fbEvent);
eventModel.find({}, function(err, events) {
if (err) throw err;
module.exports.events = events;
})
}
在接收端,我能够访问文件“routes.js” 像这样:
var events = require('../data/upcoming_events.js');
router.get('/upcoming_events', securePages, function(req, res, next){
console.log(events.events[0].eventName);//accessing data....
res.render('upcoming_events', {title: 'Welcome to aDating - Upcoming Events'});
})
我得到的日志是这样的:
{ _id: 55aa582edeea927016d5af1c,
eventID: '1111',
eventName: 'Breakfast Club',
eventPic: '4d669b',
category: 'Party',
__v: 0,
rsvp_list:
[ '12343242'
] }
到目前为止一切正常,但现在我想将此数据传递到另一个文件'proccess_data.js',然后将其发送到routes.js。过程如下(没有演示功能):
var events = require('../data/upcoming_events.js');
module.exports.user = events;
但现在当我需要来自 proccess_data.js 文件的数据并尝试以相同方式访问它时:
var data= require('../data/proccess_data.js');
router.get('/upcoming_events', securePages, function(req, res, next){
console.log(data.events[0].eventName);//accessing data....
res.render('upcoming_events', {title: 'Welcome to aDating - Upcoming Events'});
})
我在控制台中收到以下错误:
TypeError: Cannot read property '0' of undefined
更多细节,当我像这样从proccess_data.js 导出events 时:
module.exports = function(passport, FacebookStrategy, config, mongoose) {
var events = require('../data/upcoming_events.js');
module.exports.user = events;
}
并在 routes.js 中像这样访问它:
console.log(data.user);
这是打印出来的:
{ [Function]
events:
[ { _id: 55aa582edeea927016d5af1c,
eventID: '1111',
eventName: 'TONIGHT - Andreas Henneberg // Breakfast Club',
eventPic: '69b',
category: 'Party',
__v: 0,
rsvp_list:
[ '12343242',
'12366662' ] },
{ _id: 55aa6a751178e94823016053,
eventID: '2222', ...And so on...
知道为什么吗?
【问题讨论】:
标签: javascript json node.js mongodb