2015-04-02 2 views
0

Вот код с помощью nodejs, который извлекает данные из твиттера. Теперь я хочу сохранить его в mongodb. Может ли кто-нибудь указать мне, как это сделать. Не удалось сделать.Вставка твитов в mongodb через nodejs

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

использовать следующий фрагмент для вставки в твитах документ.

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 
    }) 
}); 

В вышеприведенном коде, если твит уже присутствует, он будет обновлен, иначе вставьте новую запись.

upsert: Если установлено значение true, создается новый документ, если документ не соответствует критериям запроса. Значение по умолчанию - false, которое не вставляет новый документ, если совпадение не найдено.

Thanks

+0

Это было очень полезно. Я боролся с трех дней. Вы спасли меня. Большое спасибо. Это сработало для меня. Другой вопрос, если вы можете нам помочь, это будет очень полезно. Теперь все данные хранятся в БД, теперь как я могу получить твиты в зависимости от местоположения и возраста человека? Жду Вашего ответа. – user2185424

+0

Чтобы получить твиты на основе местоположения, нам нужно включить ниже запроса - twit.stream ('statuses/filter', {'locations': '- 122.75,36.8, -121.75,37.8, -74,40, -73,41 '}, function (stream) {}); – Dineshaws

+0

Эй, я могу хранить данные в mongodb. Теперь я хочу получить данные из коллекции mongodb и отобразить их в браузере. Не могли бы вы помочь мне. – user2185424