'Mongodb c# driver: view MQL bson query generated from linq

Using the latest version (2.14) is there any way to view the bson query document generated by a specific linq query?

I want to do this for two reasons:

  1. debugging queries
  2. copying them to run in another mongo client like compass

I know I can enable profiling, but I can't see any way to guarantee a query you find in the mongo log was generated by a specific line of code or query. Plus it's a bit long winded to do it via profiling.



Solution 1:[1]

@dododo answer is the right and best one, I'm just adding some code here which works for option 2:

    var settings = MongoClientSettings.FromUrl(new MongoUrl(@"mongodb://localhost"));
    settings.ClusterConfigurator = builder =>
    {
        builder.Subscribe<CommandStartedEvent>(x =>
        {
            var queryDocument = x.Command;
        });
    };

    var client =  new MongoClient(settings);

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Ian Newson