Usando la última versión (2.14), ¿hay alguna forma de ver el documento de consulta bson generado por una consulta linq específica?
Quiero hacer esto por dos razones:
Sé que puedo habilitar la creación de perfiles, pero no puedo ver ninguna forma de garantizar que una consulta que encuentre en el registro de mongo haya sido generada por una línea de código o consulta específica. Además, es un poco largo hacerlo a través de perfiles.
Tiene 2 opciones para obtener una consulta MQL de una solicitud LINQ:
CommandStartedEvent y analice el documento Command . Preste atención a que es posible que deba eliminar algunos campos técnicos como $db (quizás algunos más) que la brújula podría no analizar correctamente, lo verá en el mensaje de excepción, si corresponde.La respuesta de @dododo es la correcta y la mejor, solo estoy agregando un código aquí que funciona para la opción 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);