背景
我正在协助一个项目,分析 Twitter 上关于 2013 年 NCAA 男子篮球锦标赛比赛的对话量。我们使用简单的 Node.js 请求和Twitter 流 API 的 状态过滤器方法收集推文,并将响应保存在纯文本文件中。到目前为止,我们已经收集了大约 1500 万条推文,这些推文占据了大约
现在我们正在尝试处理这些推文,并使用另一个简单的 Node.js 脚本仅将相关信息(uid、时间戳、文本和语言)上传到 MongoDB 数据库中,显示在这个 Gist中,其中也有一个非常小的原始推文样本我们收集了。一旦推文被加载到数据库中,我们将过滤和聚合它们以导出我们需要的信息。
问题
所以这就是问题所在:当运行将推文保存在数据库中的脚本时,它会引发意外的文件结束错误并死掉。我已经验证了 ReadStream 和 Lazy 的实例已被初始化,当脚本尝试对每一行进行操作并将该行解析为有效的 JSON 对象时,问题似乎正在发生。
关于为什么会发生这种情况或如何解决它的任何想法?
示例堆栈跟踪
undefined:1
3","indices":[3,10]}]},"favorited":false,"retweeted":false,"filter_level":"low
^
SyntaxError: Unexpected end of input
at Object.parse (native)
at /home/ubuntu/ncaa/savetodb.js:31:34
at Lazy.<anonymous> (/home/ubuntu/ncaa/node_modules/lazy/lazy.js:91:13)
at Lazy.<anonymous> (/home/ubuntu/ncaa/node_modules/lazy/lazy.js:73:19)
at Lazy.EventEmitter.emit (events.js:95:17)
at yieldTo (/home/ubuntu/ncaa/node_modules/lazy/lazy.js:181:18)
at Function.<anonymous> (/home/ubuntu/ncaa/node_modules/lazy/lazy.js:219:25)
at Lazy.<anonymous> (/home/ubuntu/ncaa/node_modules/lazy/lazy.js:187:21)
at Lazy.EventEmitter.emit (events.js:95:17)
at ReadStream.<anonymous> (/home/ubuntu/ncaa/node_modules/lazy/lazy.js:50:22)