我已将MongoDB连接到.NET,并且我试图将数据保存到数据库中。该程序工作正常,我的数据插入到数据库中,但我从文档中了解到,我应该能够看到控制台窗口中发生的所有事情。这是我正在制作的示例程序。
static void Main(string[] args)
{
MainAsync().Wait();
Console.ReadLine();
}
static async Task MainAsync()
{
var client = new MongoClient("mongodb://localhost:27017");
IMongoDatabase db = client.GetDatabase("machines");
var collection = db.GetCollection<BsonDocument>("cranes");
var document = new BsonDocument
{
{ "code", BsonValue.Create("0x657")},
{ "departments", new BsonArray(new[] {"Mech", "Forge"}) },
};
await collection.InsertOneAsync(document);
}
这是我在运行程序时看到的控制台输出。
我可以看到数据已在MongoDB Compass中成功添加,但我在控制台窗口中没有任何反馈。
答案 0 :(得分:1)
您需要使用MongoClient
启动MongoClientSettings
,并在那里订阅命令事件。
var url = MongoUrl.Create("mongodb://localhost:27017");
var settings = MongoClientSettings.FromUrl(url);
settings.ClusterConfigurator += b => b.Subscribe<CommandStartedEvent>(
e => Console.WriteLine($"MongoDB: {e.Command.ToJson()}")
);
var client = new MongoClient(settings);
...