MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongodb C#-Treiber Nicht unterstützter Filterfehler mit spezifischem linq-Prädikat

Dies funktionierte, um die beiden übereinstimmenden Dokumente zurückzugeben:

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()));

Eine 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>();