sql >> Database >  >> NoSQL >> MongoDB

WAARSCHUWING Fout:Meteor-code moet altijd worden uitgevoerd binnen een Fiber when-call-methode op de server

ik denk dat je je callbacks moet inpakken met Meteor.bindEnvironment in plaats van vezels rechtstreeks te gebruiken - zie hier https://gist.github.com/possibilities/3443021

ik gebruik dit vrij uitgebreid en het werkt goed omdat je binnen de vezel blijft in plaats van weg te gaan en opnieuw te moeten invoeren

normale terugbelstijl

someMethod({OPTIONS}, function(callbackReturnArgs){
    //this is the normal callback
));

bind-omgeving verpakt terugbellen

someMethod({OPTIONS}, Meteor.bindEnvironment(
  function(callbackReturnArgs){
    //this is the normal callback
  },
  function(e){
    console.log('bind failure');
  }
));

als je consequent asynchrone callbacks op deze manier inpakt, is meteor altijd toegankelijk

voor dit stukje hier

Fiber(function(){
  Meteor.call('streamTwit', twit);
}).run();

u hoeft dit niet te wikkelen, u bevindt zich al in de Meteor.startup context, dus dit is overbodig - alleen de Meteor.call(...); zal het lukken




  1. mongoDB sharding voorbeeld

  2. Binnen een mongodb $match, hoe te testen op veld MATCHING , in plaats van veld EQUALING

  3. MongoDB opzoeken wanneer vreemd veld een array van objecten is

  4. Verbindingen beheren