如何在 MongoDB Driver for C# 中应用软删除过滤器?

Dia*_*ros 5 c# soft-delete mongodb mongodb-.net-driver

public class User
{
        public string Id { get; private set; }
        public string Name { get; private set;} 
        public bool IsActive{ get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 MongoDB 驱动程序构建一个 .Net 应用程序来连接到 Mongo。一些已实现的实体有一个 IsActive 字段 - 基本上是一个布尔值,如果实体处于活动状态,则设置为 true;如果实体已被删除,则设置为 false。(如果愿意的话,可以进行软删除或逻辑删除)

我的目标是应用一个“全局过滤器”,它将成为应用于给定集合的任何过滤器的基础。类似于 EF Core 全局查询过滤器https://learn.microsoft.com/en-us/ef/core/querying/filters

MongoDB 驱动程序有类似的东西吗?如果没有,你们中有人对如何以其他方式实现这一点有建议吗?

dod*_*odo 0

唯一可用的选项是 IMongoCollection.OfType,其中过滤是按实体类型(而不是字段)进行的,因此您需要稍微更改一下实现才能使用它。