使用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
需要明确的是,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