Csharp/C#教程:使用MongoDB C#驱动程序在Aggregation Framework中使用allowDiskUse分享


使用MongoDB C#驱动程序在Aggregation Framework中使用allowDiskUse

我想允许DiskUse:true。 但是,我找不到任何解释allowDiskUse启用MongoDB C#驱动程序的示例。

如何在MongoDB C#驱动程序中启用allowDiskUse?

我的示例代码就是这样

var pipeline = new[] { match, project, group, limit, sort, allow }; List result = db .GetCollection("TwitterStatus") .Aggregate(pipeline).ResultDocuments.Select(x => new User { Influence = Convert.ToDouble(x["Influence"]), User = new SMBUser((BsonDocument)x["User"]) }).ToList(); 

使用Aggregate的另一个重载,该重载采用AggregateArgs参数,并为您提供对操作的更多控制,包括设置AllowDiskUse:

 var pipeline = new BsonDocument[0]; // replace with a real pipeline var aggregateArgs = new AggregateArgs { AllowDiskUse = true, Pipeline = pipeline }; var aggregateResult = collection.Aggregate(aggregateArgs); var users = aggregateResult.Select(x => new User { Influence = x["Influence"].ToDouble(), User = new SMBUser(x["user"].AsBsonDocument) }).ToList(); 

请注意,此Aggregate重载的返回类型是IEnumerable ,因此您不必再使用ResultDocuments属性。

需要明确的是,Select正在执行客户端。 您可以对其进行排列,以便将来自聚合管道的文档直接反序列化为您的某个类的实例。

对于更新版本的MongoDB C#驱动程序(不确定从哪个版本开始),语法为:

上述就是C#学习教程:使用MongoDB C#驱动程序在Aggregation Framework中使用allowDiskUse分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var aggregateOptions = new AggregateOptions{ AllowDiskUse = true}; var aggregateResult = collection.Aggregate(aggregateOptions); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/951845.html

(0)
上一篇 2021年11月19日
下一篇 2021年11月19日

精彩推荐