gpt4 book ai didi

时间:2019-03-08 标签:c#mongodb drivergroupby

转载 作者:可可西里 更新时间:2023-11-01 09:19:47 25 4
gpt4 key购买 nike

我尝试执行这个查询:

MongoCollection<AnalyticsClicks> dbCollection = DetermineCollectionName<AnalyticsClicks>();
var query = from c in dbCollection.AsQueryable()
where c.UserId == userId && c.CampaignId == campaignId
select new
{
c.Email,
c.Link
};
var res = query.GroupBy(x => x.Email, b => b.Link).Count();

但我有异常(exception):

The GroupBy query operator is not supported.

我在robomongo写了一个等价的请求

db.analyticsClicks.aggregate(
{ $match: { UserId: 4790, CampaignId: 92093}},
{ $group : {
"_id" : {
"Email" : "$Email",
"Link" : "$Link",
}
}
})

它有效,但我还需要获取当前集合中的项目数。如何使用 C# mongo 驱动程序重写此查询?

最佳答案

您可以使用聚合框架。此示例适用于 MongoDB.Driver 2.0

var collection = database.GetCollection<Item>("Item");
var result = await collection
.Aggregate()
.Group(new BsonDocument
{
{
"_id", new BsonDocument
{
{"Email", "$Email"},
{"Link", "$Link"},
}
}
})
.Group(new BsonDocument
{
{ "_id", "_id" },
{"count", new BsonDocument("$sum", 1)}
})
.FirstAsync();
var count = result["count"].AsInt32;

关于时间:2019-03-08 标签:c#mongodb drivergroupby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30873496/

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