gpt4 book ai didi

c# - 将 SetFields 与 MongoDB C# 驱动程序 2.0 一起使用

转载 作者:IT老高 更新时间:2023-10-28 12:29:52 25 4
gpt4 key购买 nike

使用旧驱动程序,我可以指定要从查询中返回的字段,如下所示:

var cursor = Collection.Find(query).
SetFields(Fields<MealPlan>.Exclude (plan => plan.Meals));

如何使用 2.0 驱动程序完成此操作?

最佳答案

您需要在 IFindFluent 上使用 Projection 方法(这是 FindProjection 返回的内容):

var findFluent = Collection.Find(query).Projection(Fields<MealPlan>.Exclude (plan => plan.Meals))

现在,这最终会生成 BsonDocument 的光标,因为它不知道投影的外观。您可以调用通用 Projection 来添加该类型:

var findFluent = Collection.Find(query).Projection<MealPlan>(Fields<MealPlan>.Exclude (plan => plan.Meals))

在更一般的意义上(使用 Exclude 时相关性较小),您还可以使用 lambda 表达式指定字段:

var findFluent = Collection.Find(query).Projection(plan => plan.Meals)

关于c# - 将 SetFields 与 MongoDB C# 驱动程序 2.0 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com