The country is due to receive 200 people from camps in Turkey, Italy and Greece under the EU plan to resettle 40,000 new arrivals.
Interior ministry spokesman Ivan Netik said Muslims would not be accepted because they would not feel at home.
The UN’s refugee agency (UNHCR) called on countries to take an “inclusive approach” to relocation.
But Mr Netik denied the move was discriminatory and said it was intended to ensure community cohesion.
‘Not going to like it’
The number of migrants at the EU’s borders has surged in recent months, reaching a record high of 107,500 in July. Most are Syrians, Afghans, and sub-Saharan Africans, fleeing instability or poverty.
Last month, EU member states agreed to take in 32,000 asylum seekers arriving in Italy and Greece over the next two years – fewer than the 40,000 target.
The scheme was made voluntary after some nations – including Slovakia – refused to accept set quotas.
Mr Netik told the BBC: “We want to really help Europe with this migration wave but… we are only a transit country and the people don’t want to stay in Slovakia.
“We could take 800 Muslims but we don’t have any mosques in Slovakia so how can Muslims be integrated if they are not going to like it here?”
EU Commission spokeswoman Annika Breithard said she could not comment directly on the Slovak statement, but stressed that EU states were banned from any form of discrimination.
Meanwhile Babar Baloch, Central Europe spokesman for the UNHCR, said: “Resettlement is greatly needed for many refugees who are at extreme risk among the world’s most vulnerable groups.
“We encourage governments to take an inclusive approach while considering refugees for resettlement and should not base their selection on discrimination.”
More than 240,000 migrants have crossed the Mediterranean already this year, arriving on the shores of Greece and Italy before travelling on to other destinations.
Germany, the biggest recipient of asylum-seekers in the EU, has said it could receive as many as 800,000 applicants this year.
The numbers are far higher than the record 438,000 asylum applications in 1992 during the Bosnian crisis.
Both the EU and the UN have called on other countries to share the burden.
But EU leaders face a public backlash amid tensions over immigration.