c# - Delete(Expression<Func<T, bool>> criteria) MongoDB 查询 C# 驱动程序

标签 c# mongodb mongodb-.net-driver

可以查询Expression<Func<T, bool>>并删除所有找到的文件?我正在使用 mongoDB c# 驱动程序,我从 mongo 存储库中获取了这个想法,但我没有继承实体上的任何基类,因此我没有类和对通用属性“id”的访问权限

以下代码将不起作用:

foreach (T entity in this.collection.AsQueryable<T>().Where(criteria))
{
    this.Delete(entity.Id);
}

有什么建议吗?

最佳答案

您应该能够将查询传递给Remove。例如,删除所有 name 属性值为 "test123" 的文档:

collection.Remove(Query.EQ("name", "test123"));

这样,只需一次调用即可删除所有匹配的文档,而不是首先获取匹配项,然后单独删除它们(甚至使用 $in 运算符将其作为一个组删除)。

关于c# - Delete(Expression<Func<T, bool>> criteria) MongoDB 查询 C# 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19146748/

相关文章:

C# MongoDb 驱动程序包含子对象

c# - 复制一个 mongodb 集合

c# - 如何加速计算多个项目的所有可能分布的算法?

node.js - Mongoose 查询字典数组

c# - 如何在 C# 中正确验证 svg 字符串?

mongodb - 无法将 Robo 3T 连接到远程 MongoDB 服务器

c# - MongoDB C# 身份验证异常

c# - 在不使用子文档中的鉴别器的情况下将 C# 类序列化到 MongoDB

c# - 初始化多个空列表

c# - 在非 UI 线程 Silverlight 5 浏览器应用程序中创建 UserControl