Questo ha funzionato per restituire i due documenti corrispondenti:
Regex regex = new Regex("^ROOT|^SPECIAL");
var qry = collection.AsQueryable()
.Where<CollectonClass>(e => regex.IsMatch(e.EntryPoint))
.Select(e => new { e.Value, e.EntryPoint } );
var docList = qry.ToList();
docList.ForEach(e => Console.WriteLine(e.ToJson()));
Una variante:
var rgxList = new string [] { "^ROOT", "^SPECIAL" };
var rgx = new Regex(string.Join("|", rgxList));
var filter = Builders<BsonDocument>.Filter.Regex("EntryPoint", rgx);
var list = collection.Find(filter).ToList<BsonDocument>();