2015-04-02 64 views
0

以下是使用从twitter获取数据的nodejs的代码。现在我想将它存储在mongodb中。任何人都可以请指导我如何做的步骤。无法做到。通过nodejs将推文插入到mongodb中

var app = require('express').createServer(), 
    twitter = require('ntwitter'); 

app.listen(3000); 

var a = 'love'; 
var b = 'hate'; 

var watchList = [a, b]; 
var twit = new twitter({ 
    consumer_key: 'FtRTll97RNnYksFDMGMyCkMwF', 
    consumer_secret: 'laazWFm8p9nV6rx2H3PohRqwaB1jK1mUBus8BjEZfJlMW9gXwK', 
    access_token_key: '194952208-QMGEHqeY03XUSVLHa0pPueVVMLRICVtMCLSsu6m9', 
    access_token_secret: 'KivtwgKZ45rSdkEExVsYG8Ows9kPoRKl692PomUFSZ3Mp' 
}); 

twit.stream('statuses/filter', { 
    track: watchList 
}, function (stream) { 
    stream.on('data', function (data) { 
     console.log(data.user.screen_name + ': ' + data.text); 
    }); 
}); 

回答

0

使用下面的代码片段插入tweets文件。

stream.on('data', function (data) { 
    console.log(data); 
    console.log("\n\n\n\n"); 
    db.tweets.findAndModify({ 
     query: {'id': 'data.id'}, 
     update: { $set: data}, 
     upsert: true, 
     new: true 
    }) 
}); 

在上面的代码中,如果tweet ID已经存在,它将被更新,否则插入新记录。

upsert:如果设置为true,当没有文档匹配查询条件时创建一个新文档。默认值为false,当未找到匹配项时不插入新文档。

感谢

+0

这是很大的帮助。三天以来我一直在挣扎。你救了我。非常感谢。它为我工作。 另一个问题,如果你能帮助我们,这将是非常有帮助的。现在所有的数据都存储在数据库中,现在我怎么才能根据人的位置和年龄得到推文呢?期待您的回复。 – user2185424 2015-04-02 09:58:37

+0

要获取基于位置的推文,我们需要合并以下查询 - twit.stream('status/filter',{'locations':' - 122.75,36.8,-121.75,37.8,-74,40,-73,41 '},function(stream){}); – Dineshaws 2015-04-02 10:13:15

+0

嘿,我可以将数据存储到mongodb中。现在我想从mongodb集合中获取数据并将其显示在浏览器中。你能帮我解决吗? – user2185424 2015-04-09 08:12:14

相关问题