web-dev-qa-db-fra.com

MongoDB C # Quertise pour 'J'aime' sur String

j'utilise le pilote officiel de MongoDb C #. Je veux demander à Mongodb similaire à SQL comme quelque chose comme db.users.find({name:/Joe/} dans le pilote C #

24
gsagrawal

Pour le pilote C # 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 pilote C # 2.2 (MongoDB 3.0)

var filter = new BsonDocument { { parameterName, new BsonDocument { { "$regex", value }, { "$options", "i"} } } }

var result = collection.Find(filter).ToList();
28
Sridhar

Le pilote C # MongoDB a un type BSONREGEX que vous pouvez utiliser.

Regex est le plus proche que vous obtiendrez dans la déclaration SQL LIKE.

Notez que les regex préfixées peuvent utiliser des index: /^Joe/ utilisera un index, /Joe/ Ne fera pas.

10
Gates VP