2016-11-26 14 views
2

Mongo C#Driverでプロファイルレベルを設定する必要があります。MongoDatabaseImplの代わりにMongoDatabaseクラスを使用する

Client.GetDatabase("test")は、実行時にMongoDB.Driver.MongoDatabaseImplに解決するIMongoDatabaseインターフェイスを返します。

MongoDB .NET Driver API Documentation クラスには、実行時にキャストできないSetProfilingLevelメソッドがあります。

私はにはSetProfilingLevelメソッドが入っていると言われているので、2.0.1のレガシードライバもインストールしました。

答えて

6

新しいMongoDBドライバ(少なくとも2.3)には、プロファイルレベルを変更するための具体的な方法がありません。
しかし、RunCommandAsyncを使用して任意のコマンドを実行できます。

public async Task SetProfilingLevelAsync(IMongoDatabase database, int level) 
{ 
    var command = new BsonDocumentCommand<BsonDocument>(new BsonDocument("profile", level)); 
    await database.RunCommandAsync(command); 
} 
+0

オプションのslowmsパラメータも追加できます。 – Evk

+0

正常に機能していることを確認してください。 – MazBros

3

この方法は実際にはレガシーバージョンのドライバにあります。

var client = new MongoServer(new MongoServerSettings()); 
var db = client.GetDatabase("db_name"); 
db.SetProfilingLevel(ProfilingLevel.All); 
関連する問題