어플리케이션 입장에서는 샤드 클러스터에 질의하는 것과 비-샤드 클러스터에 질의하는 것과 차이는 없다.
샤드키가 쿼리에 포함되어 있다면, mongos는 청크 데이터가 어떤 샤드에 포함되어 있는지 알 수 있기 때문에 해당 샤드로 쿼리를 보낸다. 이를 타켓 쿼리(target query)라고 한다.
그러나 샤드키가 포함되어있지 않은 질의에서는 모든 샤드에 쿼리를 뿌려야한다. 이를 글로벌 쿼리(global query) 또는 스케터/게더 쿼리(scatter/gather query)라고 한다. 이러한 글로벌 쿼리에서는 모든 샤드에게 요청을 하고 응답을 받아야하므로 비효율적이다.
샤드 클러스터에서는 다음과 같은 인덱싱 관련 사항이 있다.
_id 필드와 샤드키에 대해서만 고유(unique) 인덱스를 허용한다. 다른 필드들에 대해서는 고유 인덱스를 허용하지 않는다. 왜냐하면, 이를 허용하게 될 경우 고유성을 보장하기 위해 샤드들 간의 통신이 필요하게 되는데, 이는 샤딩 기본 설계에 위배되기 때문이다.