我正在开发一个测试框架字,我想在每次运行中重置所有集合。
我在使用Meteor.users
时遇到问题,因为它在程序包环境中未定义。
是否有任何解决方法可以从包中的清除Meteor.users集合?
答案 0 :(得分:1)
程序包加载顺序和导出的变量在包中的符号可用性方面很重要。
为了在包中获得创建符号,必须在包之前加载它。这可以通过依赖它或其他依赖的包来实现。
此类符号的示例是添加到Meteor
对象的方法,这就是您的情况。
api.use('some-package'); // some-package is the desired package or depends on it
为了获得包裹导出的符号,你应该直接依赖它,或者依赖于隐含的包> strong>此包(或自己也明确地导出符号)。
api.use('some-package'); // some-package exports the symbol directly or by implying
如果您不希望将软件包添加到软件包中,如果您的软件包是唯一依赖它的软件包(即没有其他软件包),那么您可以将此依赖关系弱强烈依赖它的软件包,并且用户没有将其添加为顶级依赖项。)
api.use(['some-package'], ['client', 'server'], {weak: true});
如果您在加载所有软件包后需要执行某些操作,则可以使用Meteor.startup()
执行此操作:
Meteor.startup(function() {
//do stuff after all packages and code were loaded
});
答案 1 :(得分:0)
您可以在用户集合上放置一些“重置逻辑”,
hana::map
请查看http://docs.meteor.com/#/full/allow以获取参考资料