【发布时间】:2015-07-21 08:36:21
【问题描述】:
我想将 reddit json 线程导入我的 mongodb 本地服务器,这样我就可以开始分析它了。请帮帮我。
app.js 文件如下
var MongoClient = require('mongodb').MongoClient
, request = require('request');
MongoClient.connect('mongodb://localhost:27017/trasmatter', function(err, db) {
if(err) throw err;
request('https://www.reddit.com/r/Seattle/comments/3e0q5u/why_metro_matters_infographic/.json', function (error, response, body) {
if (!error && response.statusCode == 200) {
var obj = JSON.parse(body);
var stories = obj.data.children.map(function (story) { return story.data; });
db.collection('reddit').insert(stories, function (err, data) {
if(err) throw err;
console.dir(data);
db.close();
});
}
});
});
运行“node app.js”后控制台出错
app.js:11
var stories = obj.data.children.map(function (story) { return sto
^
TypeError: Cannot read property 'children' of undefined
at Request._callback (/Users/yay/code/pulley/app.js:11:35)
at Request.self.callback (/Users/yay/code/pulley/node_modules/request/request.js:198:22)
at Request.emit (events.js:110:17)
at Request.<anonymous> (/Users/yay/code/pulley/node_modules/request/request.js:1057:14)
at Request.emit (events.js:129:20)
at IncomingMessage.<anonymous> (/Users/yay/code/pulley/node_modules/request/request.js:1003:12)
at IncomingMessage.emit (events.js:129:20)
at _stream_readable.js:908:16
at process._tickCallback (node.js:355:11)
另一个成功运行的脚本文件。 (我刚插上 另一个链接并更改本地主机链接)
var MongoClient = require('mongodb').MongoClient
, request = require('request');
MongoClient.connect('mongodb://localhost:27017/course', function(err, db) {
if(err) throw err;
request('http://www.reddit.com/r/technology/.json', function (error, response, body) {
if (!error && response.statusCode == 200) {
var obj = JSON.parse(body);
var stories = obj.data.children.map(function (story) { return story.data; });
db.collection('reddit').insert(stories, function (err, data) {
if(err) throw err;
console.dir(data);
db.close();
});
【问题讨论】:
标签: javascript json node.js mongodb