2015-04-02 29 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