调用 Collection.FindAsync() 时如何查看生成的查询

问题描述 投票:0回答:1

您可以在 Visual Studio 的“监视”窗口中查看

Collection.Find(...).ToString()
以查看生成的查询,但这对
Collection.FindAsync(...)
不起作用。

调用

FindAsync()
时如何查看后台使用的生成查询?

c# mongodb amazon-web-services mongodb-.net-driver .net-7.0
1个回答
0
投票

您可以按照此文档记录 mongodriver 的进程。 https://www.mongodb.com/docs/drivers/csharp/v2.25/fundamentals/logging/
或者,如果您只想记录查询,您可以在创建客户端时执行以下配置,以便在控制台中查看命令。

var client = new MongoClient(new MongoClientSettings()
{
    
    Server = new MongoServerAddress("127.0.0.1"),
    ClusterConfigurator = cb =>
    {
        cb.Subscribe<CommandStartedEvent>(e =>
        {
            Console.WriteLine($"{e.CommandName} - {e.Command.ToJson()}");
        });
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.