提问人:Ignacio 提问时间:11/9/2022 更新时间:11/9/2022 访问量:88
从 C 中的聚合函数中获取计数#
Getting count from aggregate function in C#
问:
我对 C# 中的 MongoDB 使用很陌生。我正在尝试获取与特定 .我在MongoDb中有这个函数:EmployeeId
db.Tickets.aggregate([
{$match: {employeeId: 3}},
{$count: "count"}
]);
(数字 3 只是一个例子)
这将返回以下内容: ,这是正确的。我想在 Visual Studio 的 C# 上获取该计数。{count: 4}
到目前为止,我已经在Visual Studio中创建了此方法:
public int GetUserTicketCount(User user)
{
int count = collectionOfTickets.Aggregate()
.Match(x => x.employeeId == user.GetEmployeeId())
.Count()
.FirstOrDefault()
.Count();
}
从我在 SO 和其他论坛中搜索的内容来看,这种方法应该有效;但是我收到一个错误“不包含定义,并且找不到接受类型第一个参数的可访问扩展(您是否缺少使用指令或程序集引用?AggregateCountResult
Count
Count
AggregateCountResult
我该如何解决这个问题,或者如何在 C# 中获得计数结果?非常感谢任何和所有的帮助。
答:
1赞
dacastr
11/9/2022
#1
Count 是一个属性,而不是一个方法。
.Count
应该工作。只需删除括号即可。
请参阅此处的官方文档:http://rstam.github.io/mongo-csharp-driver/2.5/apidocs/html/T_MongoDB_Driver_AggregateCountResult.htm。
评论
0赞
Ignacio
11/9/2022
我已经这样做了,至少错误消失了。但是,当我在 listView 上显示此数字时,它显示为 .但是,这是一个很大的改进!我正在深入研究这个问题来解决这个问题。Systems.Collections.Generic.List'1[databaseName.Ticket]
评论