Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 调用服务器从客户端执行方法_Mongodb_Meteor_Twitter Streaming Api - Fatal编程技术网

Mongodb 调用服务器从客户端执行方法

Mongodb 调用服务器从客户端执行方法,mongodb,meteor,twitter-streaming-api,Mongodb,Meteor,Twitter Streaming Api,我正在玩一个使用meteorjs的推特流媒体应用程序。但是,当用户输入新的曲目关键字时,我在销毁流并替换为新流时遇到问题。当有用户输入新曲目关键字时,我如何调用twitter流媒体在服务器端销毁和流媒体播放新曲目 //在client.js中 Template.executefb.events({ 'keyup input#searchFeedback': function(e) { if(e.which == '13') { var tag = $('#sea

我正在玩一个使用meteorjs的推特流媒体应用程序。但是,当用户输入新的曲目关键字时,我在销毁流并替换为新流时遇到问题。当有用户输入新曲目关键字时,我如何调用twitter流媒体在服务器端销毁和流媒体播放新曲目

//在client.js中

Template.executefb.events({
'keyup input#searchFeedback': 
  function(e) { 
    if(e.which == '13')
    {
      var tag = $('#searchFeedback').val();
      var exist = searchTag(tag, 'feedback');
      if(typeof exist == 'undefined')
      {
        Meteor.call('addNewTag',tag, 'feedback');

       //I want to call server to call Meteor.call('getLatestTag', 'feedback');
       // and Meteor.call('streamTwit', Fiber, twit, feedback); in server again


      }
     Meteor.call('clearSearchbar');
    }
  }
});
//在server.js中

var require;
var ntwitter;
var Fiber;


require = Npm.require;
ntwitter = require('ntwitter');
Fiber = require('fibers');


var twit = new ntwitter({
consumer_key: 'some key',
consumer_secret: 'some key',
access_token_key: 'some key',
access_token_secret: 'some key'
});

//get latest tag entered by the user from mongodb
var feedback = Meteor.call('getLatestTag', 'feedback');

//this method call starts twitter streaming
Meteor.call('streamTwit', Fiber, twit, feedback);

提前感谢:)

您可以将此添加到您的
服务器.js

Meteor.methods({
    changeStream: function() {
        //get latest tag entered by the user from mongodb
        var feedback = Meteor.call('getLatestTag', 'feedback');

        //this method call starts twitter streaming
        Meteor.call('streamTwit', Fiber, twit, feedback);
    }
});
在您的客户中:

if(typeof exist === 'undefined') {
    Meteor.call('addNewTag', tag, 'feedback', function() {
        Meteor.call("changeStream");
    });
}
注意:您可以简单地将
标记
传递给
changeStream
方法,而不是等待
addNewTag
方法上的回调,然后放弃服务器端
getLatestTag
,因为您已经拥有了它