我设法从Twitter Streaming API流式传输推文,我想知道如何在MongoDB的我的集合中自动插入它?这是我到目前为止的代码。它只将它存储在一个JS文件中,但我想将它自动插入到我的集合中。
var TwitterStream = require('twitter-stream-api'),
fs = require('fs');
var keys = {
consumer_key : "xxxx",
consumer_secret : "xxxx",
token : "xxxx",
token_secret : "xxxx"
};
var Twitter = new TwitterStream(keys, false);
Twitter.stream('statuses/filter', {
track: 'travel'
});
Twitter.pipe(fs.createWriteStream('final_tweets_asd.json'));
更新
我已经阅读了类似于我的问题并更新了我的代码推文通过nodejs插入mongodb。这就是我所做的:
var Twitter = new TwitterStream(keys, false);
Twitter.stream('statuses/filter', {
track: 'travel'
}, function (stream) {
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
})
});
});
代码运行但它不会将其存储在MongoDB中。我也对解决方案感到困惑。根据我的记忆,您需要指定能够插入的数据库名称和集合名称。 “db.tweets.findAndModify”仅提供数据库名称。