是否支持在Mongo中使用多个过滤器删除集合?我只有1 WHERE子句的删除代码。
var collection = _database.GetCollection<BsonDocument>(table);
await collection.FindOneAndDeleteAsync(Builders<BsonDocument>.Filter.Eq("MasterID", 11630));
他们的网站或其他论坛似乎没有任何内容,但我希望有人知道某种方式?
答案 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提供