您可以在 Visual Studio 的“监视”窗口中查看
Collection.Find(...).ToString()
以查看生成的查询,但这对 Collection.FindAsync(...)
不起作用。
调用
FindAsync()
时如何查看后台使用的生成查询?
您可以按照此文档记录 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()}");
});
}
});