私は公式のmongodb c#ドライバーを使用しています。 SQLに似たmongodbをクエリしたいのですが、c#ドライバーの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
ステートメントに最も近いものです。
接頭辞付きのRegexeはインデックスを使用できることに注意してください:/^Joe/
はインデックスを使用します、/Joe/
しない。