gpt4 book ai didi

c# - 如何在 C# Mongodb 强类型驱动程序中计算单个属性的平均值

转载 作者:可可西里 更新时间:2023-11-01 10:02:04 26 4
gpt4 key购买 nike

我正在使用官方 C# MongoDb 强类型驱动程序版本 2.7.0 与 MongoDB 进行交互。

考虑以下类:

public class Book {

public ObjectId Id {get; set;}

public string AuthorId {get; set;}

public int PublishYear {get; set;}

public double Price {get; set;}

}

如何使用作者 ID 获取属于特定作者的图书的平均价格( double 值)。

编辑:-

这是我目前尝试过的

var client = new MongoClient(ConnectionString);

var database = client.GetDatabase(DatabaseName);

var books = database.GetCollection<Book>("Books");

var result = books.Aggregate().Match(b => b.AuthorId == authorId).Group<Book,double>(); //I stopped here at group

最佳答案

以下面的答案为例

MongoDB.Driver.Builders how to group and get average

连同您目前尝试过的方法,请尝试以下方法

var result = await books.Aggregate()
.Match(b => b.AuthorId == authorId)
.Group(b => b.AuthorId, g =>
new {
AuthorId = g.Key,
AveragePrice = g.Average(p => p.Price)
})
.ToListAsync();
double average = result.Select(_ => _.AveragePrice).FirstOrDefault();

关于c# - 如何在 C# Mongodb 强类型驱动程序中计算单个属性的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50213431/

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