MongoDB评估C#驱动程序中的查询表达式

时间:2018-05-24 06:38:28

标签: c# .net mongodb

我偶然发现了MongoDB 3.6中的$expr功能。如果更新文档的属性A大于属性B,我想将其与更改流一起使用,以仅接收更新。

db.items.find({ $expr: { $gt: [ "$A" , "$B" ] } });

该功能是否在C#驱动程序中实现?我使用Builders构建管道过滤器,但没有为$ expr运算符找到合适的方法。

1 个答案:

答案 0 :(得分:1)

我最近也遇到了这个问题,我最终选择了Follow选项,只是将查询作为匹配管道的字符串写出

var cursor = _collection.Watch(PipelineDefinition<YourType, YourType>.Create(
  new[]
  {
    PipelineStageDefinitionBuilder.Match<BsonDocument>(@"{ $expr: { $eq: [ ""$A"" , ""$B"" ] }  }")
  }));