MongoDB C# de la Requête pour le "Like" sur la chaîne
j'utilise le pilote officiel mongodb c#.
je veux interroger mongodb simliar à SQL comme
quelque chose comme db.users.find({name:/Joe/}
en c# pilote
23
demandé sur
gsagrawal
2011-12-05 11:43:33
3 réponses
c# requête ressemble à:
Query.Matches("name", BsonRegularExpression.Create(new Regex("Joe")));
mise à Jour:
Query.Matches("name", "Joe")
40
répondu
Andrew Orsich
2013-04-11 06:40:46
Pour le c# pilote 2.1 (MongoDB 3.0)
var collection = database.GetCollection<BsonDocument>("<<name of the collection>>");
var filter = Builders<BsonDocument>.Filter.Regex("name", new BsonRegularExpression("Joe"));
var result = await collection.Find(filter).ToListAsync();
Pour le c# pilote 2.2 (MongoDB 3.0)
var filter = new BsonDocument { { parameterName, new BsonDocument { { "$regex", value }, { "$options", "i"} } } }
var result = collection.Find(filter).ToList();
24
répondu
Sridhar
2016-06-01 23:04:24
MongoDB C# pilote a un BsonRegex type que vous pouvez utiliser.
Regex est le plus proche que vous obtiendrez à la SQL LIKE
déclaration.
notez que les Regexes préfixés peuvent utiliser les index:/^Joe/
utilisera un index,/Joe/
ne sera pas.
10
répondu
Gates VP
2011-12-05 08:40:02