可以查询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/