有沒有一種方法可以在MongoDB C#驅動程序中創建過濾器表達式(與投影允許的方法相同)?

我可以用這樣的表達式創建投影場定義:

var projection = Builders<Bar>.Projection.Expression(x => x.Foo)

我想對過濾器執行完全相同的操作:

var filter = Builders<Bar>.Filter.Expression(x => x.Foo == "10")

但我找不到辦法來做這件事。我想執行的操作FindOneAndUpdateAsync支持表達式作為直接輸入,但我想將“硬編碼”過濾器與作為參數傳入的過濾器結合起來。這就是我現在不用表達式的方法:

var filter = Filter.Eq(x => x.Id, id); // Here I would like to write Filter.Expression(x => x.Id == id)
if (additionalFilter != null)
{
    filter &= additionalFilter;
}

另外,我寧愿避免直接用“C#方式”組合表達式,因為它不太容易理解。

? 最佳回答:

Mongo網絡驅動程序不支持Filter.Expression,如果要將任何值投射為ToList,請參閱以下示例:

 var filter = Builders<Movie>.Filter.In("cast", new string[] { "Tom Hanks" });
 var movies = await _moviesCollection.Find<Movie>(filter)
                .Limit(2)
                .ToListAsync();

// your test

var projection = Builders<Bar>.Projection.Expression(x => x.Foo);
    var projection = Builders<Bar>.Filter.Where(x => x.Foo == "10");
主站蜘蛛池模板: 一区二区高清视频在线观看| 国产在线精品一区二区高清不卡 | 一区二区三区四区在线视频| 精品国产一区二区三区久久久狼| 国语对白一区二区三区| 精品福利一区二区三| 99精品久久精品一区二区| 国产精品久久久久一区二区 | 四虎一区二区成人免费影院网址| 无码人妻精品一区二区三区在线| 亚洲av片一区二区三区| 国产精品一区二区AV麻豆| 亚洲AV香蕉一区区二区三区| 91大神在线精品视频一区| 日韩一区二区三区无码影院| 日本不卡一区二区视频a| av无码一区二区三区| 一区视频免费观看| jizz免费一区二区三区| 一本色道久久综合一区| 国产精品亚洲综合一区| 国产福利电影一区二区三区,免费久久久久久久精 | 日本伊人精品一区二区三区| 一区二区三区福利视频免费观看| 亚洲日韩精品无码一区二区三区| 国产午夜三级一区二区三| 婷婷国产成人精品一区二| 无码AV动漫精品一区二区免费| 国产在线观看91精品一区| AV怡红院一区二区三区| 精品国产一区二区三区在线观看 | 乱色熟女综合一区二区三区| 国产一区二区三区乱码在线观看| 亚洲国产AV无码一区二区三区| 国产乱码精品一区二区三区| 国产凸凹视频一区二区| 中文字幕在线观看一区二区三区| 国产午夜精品一区二区三区漫画| 色妞色视频一区二区三区四区| 国产高清在线精品一区| 国产av一区二区精品久久凹凸|