我正在使用官方的mongodb c#驱动程序。我想查询类似于SQL的mongodb像c#driver中的db.users.find({name:/Joe/}
c#查询将如下所示:
Query.Matches("name", BsonRegularExpression.Create(new Regex("Joe")));
根据@RoberStam的建议,有更简单的方法可以做到这一点:
Query.Matches("name", "Joe")
对于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();
MongoDB C#驱动程序有一个可以使用的BsonRegex type。
正则表达式是最接近SQL LIKE
语句的。
请注意,前缀正则表达式可以使用索引:/^Joe/
将使用索引,/Joe/
将不使用索引。