Filter by a distinguishing field when making publications using meteor
I can't see how you can filter field B (school) that relies on field A (user) when there's no information about field A.

What is the purpose of showing schools to anonymous users?

If we take the scenario of displaying information to anonymous users without any related functionality (read-only stuff), then perhaps you should have another publication which only publishes 'public' properties of the school entities.