I’m assuming you have set Users = Meteor.users somewhere in your publication to match your client autorun?
Your issue is probably that you have not specified the query in the publication’s find. For example: return Users.find({}, options);
You should also move static references out of your autorun. These only need declaring at the top, since they aren’t affected by re-running of the autorun (you have no reactive variables in your subscribe):
In general terms, the find on the client doesn’t need to be exactly mimicking the one on the server.
When you publish a collection from the server and there are no other publications on the same collection, the local minimongo cache will only contain the documents published by the server, that means that a normal Collection.find() will yield the correct result.
This, sadly, does not apply to the User collection. When you log-in, the user document for the current user is automatically published and stored in your client-side minimongo cache.
That’s why you’re pickiing it up in your User.find().
Essentially, your code should work if you just “exclude” the current user from your query on the client, without having to replicate the query clause you made on the server: