2015-12-01 40 views
0

我正在開發一個測試結構字,我希望在每次運行時重置所有集合如何在Meteor包中獲取Meteor.users集合?

我在使用Meteor.users時遇到問題,因爲它在包環境中未定義。

是否有任何解決方法可以在包內從清理Meteor.users系列?

+1

請問您的包有'賬戶,base'的依賴? – MasterAM

+0

謝謝,這是做到了。請將它作爲評論發佈,以便將其標記爲已接受的答案。 –

回答

1

包加載順序檢查http://docs.meteor.com/#/full/allow和出口變量事,當談到符號可用性包。

爲了得到一個符號創建了在一個包中,它必須在您的包之前加載。這可以通過取決於它或其他一些取決於的包來實現。

此類符號的示例是添加到Meteor對象的方法,這是您的情況正在發生的情況。

api.use('some-package'); // some-package is the desired package or depends on it 

爲了得到一個符號,是由包出口,您應該直接依賴於它,或取決於意味着這個包(或包明確出口的象徵)。

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 
}); 
0

你可以把一些對用戶集「復位邏輯」, Meteor.users.allow({ remove:function() { resetLogic(); });

請爲參考

+0

我不認爲這與問題有關。 'allow'回調是針對數據突變請求觸發的,它們不會觸發它們。你能詳細說明嗎? – MasterAM

相關問題