流星插入无形且无声地悬挂

时间:2012-10-27 05:36:16

标签: meteor

以下代码在每次发现推文时都不会更新数据库 - 它会静默挂起,不会向数据库添加推文。

如果在浏览器中从JS控制台手动将推文添加到数据库中,它会显示正常,但没有推文自动添加到数据库中。

Tweets = new Meteor.Collection("tweets");

if (Meteor.isClient) {
    Template.kildeer.tweets = function () {
        return Tweets.find({});
    };
}

if (Meteor.isServer) {
  Meteor.startup(function () {
    var require = __meteor_bootstrap__.require,
        Twit = require('twit')
      , T = new Twit({
            consumer_key: 'blahblah',
            consumer_secret: 'blahblah',
            access_token: 'blahblah',
            access_token_secret: 'blahblah'
        });

      var stream = T.stream('statuses/filter', { track: ['bing', 'google', 'microsoft'] })

      stream.on('tweet', function (tweerp) {
            var id;
            console.log(tweerp.text);
            id = Tweets.insert({text: tweerp.text, screen_name: tweerp.user.screen_name, profile_image: tweerp.user.profile_image_url});
            console.log(id);
      });
   });
}

1 个答案:

答案 0 :(得分:1)

在Meteor中,必须始终在Collection.insert闭包内调用Fiber()

Fiber(function() {
    Tweets.insert({text: tweerp.text, screen_name: tweerp.user.screen_name, profile_image: tweerp.user.profile_image_url});
}).run();