La stessa identica domanda era qui:MongoDB db.runCommand() da C#
La mia prima risposta era lì, ma penso che sia meglio farlo qui.
Penso che potresti chiamare con questo codice:
var doc = new BsonDocument(new Dictionary<string, string> { { "test_function", "3" }});
var command = new BsonDocumentCommand<int>(doc);
var result = db.RunCommand(command );
Ma, come puoi vedere qui , in realtà non è consigliabile utilizzare le stored procedure in questo modo.
Ho trovato un'altra soluzione qui:
https://gist.github.com/jamesikanos/b5897b1693b5c3dd1f87
Con questo frammento di codice, puoi chiamare la tua funzione in questo modo:
db.EvalAsync("test_function(2)").Result