Tänk på att mongodb bara kan använda ett index per fråga (det kommer inte att slå samman index för att göra en fråga på två fält som har separata index snabbare).
Som sagt, om du vill försöka kontrollera om det är unikt kan du göra en fråga från appen innan du infogar (vilket bara delvis löser problemet, eftersom det finns ett gap mellan när du frågar och när du infogar).
Du kanske vill rösta på den här JIRA-frågan för filtrerade index, vilket förmodligen kommer att hjälpa ditt användningsfall: https://jira.mongodb.org/browse/SERVER-785