在一次调用中返回Meteor中的多个服务器操作。如何?

时间:2015-11-19 03:56:08

标签: mongodb function meteor server session-variables

我对此非常陌生,但基本上我想创建一个在服务器上运行的清理函数,我可以随时调用它来重置一次调用中的集合和会话等各种事情。

我真的很新,但这是我到目前为止所做的。有人可以帮我填写我出错的地方吗?

我试图立刻回归两件事(以及将来会有更多)。我已就此进行过一些研究,但就目前我的技能水平而言,我已经完成了这项研究。

非常感谢。谢谢。

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup

    return Meteor.methods({

      //Use this to emplty the form data
      cleanUpForms: function() {

        var cleanUpPhoneNumbers = orgPhoneNumbers.remove({});  
        var cleanUpEmailAddresses = orgEmailAddresses.remove({});  

        return {
          cleanUpPhoneNumbers : cleanUpPhoneNumbers;
          cleanUpEmailAddresses : cleanUpEmailAddresses;
        }

      }

    });

  });
}

顺便说一句,当前错误是针对行:

cleanUpPhoneNumbers : cleanUpPhoneNumbers;

它声明:

Unexpected token 

我不确定我是否正确地这样做了。我基本上希望它一次运行多次清理,所有这些都是通过上述方法从客户端调用到服务器。我希望这是有道理的。

2 个答案:

答案 0 :(得分:1)

意外的令牌可能是;在行尾。构建JSON对象时,请在元素之间使用逗号...

    return {
      cleanUpPhoneNumbers : cleanUpPhoneNumbers,
      cleanUpEmailAddresses : cleanUpEmailAddresses
    }

我认为这将返回删除的项目数。这是你期待的吗?

另外,如果您不知道,可以从命令行运行“meteor reset”以清除所有集合。

答案 1 :(得分:0)

这是完整调整后的代码,可用于将来可能有助于其他人的任何参考。非常感谢FloatingCoder的帮助。

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup

    return Meteor.methods({

      removeAllNewOrgs: function() {
        var PhoneNumbers = newOrgPhoneNumbers.remove({});  
        var Organsations = newOrgansations.remove({});  

        //If we want to return the data, to get around only being able to return one thing at a time we're return via an array.  CLEVS!
        return {
          PhoneNumbers : PhoneNumbers,
          Organsations : Organsations
        }
      }

    });

  });
}