c# - Mongodb C# 驱动程序 : view MQL bson query generated from linq

标签 c# mongodb linq mongodb-.net-driver

使用最新版本(2.14)有没有办法查看特定linq查询生成的bson查询文档?

我想这样做有两个原因:

  1. 调试查询
  2. 复制它们以在另一个 mongo 客户端(例如 compass)中运行

我知道我可以启用分析,但我看不到任何方法来保证您在 mongo 日志中找到的查询是由特定的代码行或查询生成的。另外,通过分析来完成此操作有点冗长。

最佳答案

您有 2 个选项可以从 LINQ 请求获取 MQL 查询:

  1. 安装最近发布的查询 analyzer 。据我所知,如果您使用全局静态序列化配置,它可能不是 100% 准确。
  2. 配置 CommandStartedEvent 事件 subscriber并分析Command文档。请注意,您可能需要删除一些可能无法被指南针正确解析的技术字段,例如 $db (也许更多),您将在异常消息中看到它(如果有)。

关于c# - Mongodb C# 驱动程序 : view MQL bson query generated from linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70958926/

相关文章:

c# - 'ValueTuple<T1, T2 >' exists in both ' System.ValueTuple .. .' and ' mscorlib ...'

c# - HTTP 请求未经客户端身份验证方案 'Anonymous' 的授权。从服务器收到的身份验证 header 为 'Basic Realm’

ruby - 无法创建 MongoClient.new

node.js - 如何使用 Mongoose 在 API 响应中包含虚拟字段?

c# - HTTP Web 请求的欺骗 IP 地址?

c# - 将当前身份验证凭据从 UWP 应用程序传递到 Web 服务,以使用这些凭据访问服务器上的资源

c# - Mysql 到 Linq 查询

c# - String.Where 性能比较差

node.js - 是否有可能在 Mongoose 中有一系列可选的子文档模式

c# - 以通用方式测试匿名类型的字段值