Как вы выполняете SQL-подобный оператор в MongoDB, используя официальный драйвер C #

#mongodb #mongodb-.net-driver #sql-like

#mongodb — монгодб #mongodb-.net-driver #sql-подобный

Вопрос:

Как вы выполняете следующий SQL-запрос в mongodb, используя официальный драйвер c #?

 Select * from tblUser where FirstName Like '%as%'
  

Ответ №1:

Я понял, как это сделать. Вы должны использовать Query.Матчи

 var query = Query.Matches("FirstName", ".*as.*");
  

Комментарии:

1. вам было бы лучше использовать «как», а не «.* как.*». Они эквивалентны в запросах регулярных выражений MongoDB.

Ответ №2:

Для драйвера 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();
  

Для драйвера c # 2.2 (MongoDB 3.0)

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

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