筛选器无法正常工作-FilterDefinition <bsondocument>

时间:2018-11-12 11:19:20

标签: mongodb

我是MongoDb的新手,我需要做一个过滤器。我需要更新所有这些字段的“值”属性,其中值不为null且值不等于先前的值

FilterDefinition<BsonDocument> filter =  Builders<BsonDocument>.Filter.And(
      Builders<BsonDocument>.Filter.Eq("field_id", kvp.Key), 
      Builders<BsonDocument>.Filter.Or( 
      Builders<BsonDocument>.Filter.Eq("value", ""),  
      Builders<BsonDocument>.Filter.Eq("value",previousValue)));

UpdateDefinition<BsonDocument> update = Builders<BsonDocument>.Update.Set("$.value", kvp.Value.Item2);

bulkCommands.Add(new UpdateManyModel<BsonDocument>(filter, update));

过滤器返回所有元素,即使该值为null,也将更新该值。

我试图用这种方式:

var builder = Builders<BsonDocument>.Filter;
var filt = builder.Eq("field_id", kvp.Key) & builder.Eq("value", "");

但同样的问题,该命令将更新所有条目,即使该值为空

0 个答案:

没有答案