使用多个过滤器从MongoDB中删除

时间:2017-09-21 20:52:44

标签: c# mongodb

是否支持在Mongo中使用多个过滤器删除集合?我只有1 WHERE子句的删除代码。

var collection = _database.GetCollection<BsonDocument>(table);
await collection.FindOneAndDeleteAsync(Builders<BsonDocument>.Filter.Eq("MasterID", 11630));

他们的网站或其他论坛似乎没有任何内容,但我希望有人知道某种方式?

1 个答案:

答案 0 :(得分:0)

如果你想完全使用Builder方式:

Builders<BsonDocument>.Filter.And(
      Builders<BsonDocument>.Filter.Eq("MasterID", 11630),
      Builders<BsonDocument>.Filter.Eq("Foo", "Bar"));

编辑: 文档在这里说,有过载需要IEnumerable: http://api.mongodb.com/csharp/current/html/M_MongoDB_Driver_FilterDefinitionBuilder_1_And_1.htm

所以:

var filter = Builders<BsonDocument>.Filter.And(myDic.Select(g => Builders<BsonDocument>.Filter.Eq(g.Key, g.Value)));

一个衬垫,用于从关键的Vale对中获取过滤器。由@Skami提供

相关问题