MongoDB C# 驱动程序:查询拦截器?

2024-02-02

MongoDB C# 驱动程序是否支持像实体框架这样的查询拦截器?

我检查了文档但找不到任何内容。

基本上我需要做的是确保对数据库的某些查询(根据上下文)始终应用某些限制。

例如,如果我的文档可以被软删除,那么我总是需要确保为 { "Soft Deleted": false } 添加过滤器。实体框架通过查询拦截器优雅地处理这个问题。


MongoClient允许订阅CommandStartedEvent。以下是转储到控制台发送到服务器的每个命令的示例:

var mongoClient = new MongoClient(new MongoClientSettings
{
    Server = new MongoServerAddress("localhost", 27017),
    ClusterConfigurator = cb =>
    {
        cb.Subscribe<CommandStartedEvent>(e =>
        {
            Console.WriteLine($"{e.CommandName} - {e.Command.ToJson(new JsonWriterSettings { Indent = true })}");
            Console.WriteLine(new String('-', 32));
        });
    }
});

CommandStartedEvent包含CommandName and Command您可以将其用于特定逻辑的属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB C# 驱动程序:查询拦截器? 的相关文章

随机推荐