Você pode fazer assim:
var server = MongoServer.Create("mongodb://localhost:27020");
var database = server.GetDatabase("someDb");
var collection = database.GetCollection<Type>("item");
var cursor = collection.Find(Query.EQ("FieldToMatch" : "ValueToMatch"));
var count = cursor.Count();
Algumas notas:
- Você deve ter apenas uma instância de servidor (singleton)
- a versão mais recente do driver retorna contagem longa em vez de int
- O cursor só busca dados quando você iterar
- Você pode configurar muitas coisas como pular, pegar, especificar campos para retornar no cursor antes de realmente carregar os dados (iniciar iteração)
- O método Count() do cursor carrega apenas a contagem de documentos