C#mongodb驱动程序groupby

维罗妮卡·科斯坚科(Veronika Kostenko)

我尝试执行此查询:

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();

但我有例外:

不支持GroupBy查询运算符。

我在robomongo中写了一个等效请求

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

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

维罗妮卡·科斯坚科(Veronika Kostenko)

谢谢,这是我的工作例子

MongoCollection<AnalyticsClicks> dbCollection = DetermineCollectionName<AnalyticsClicks>();

            var match = new BsonDocument 
            { 
                { 
                    "$match", 
                    new BsonDocument {{"UserId", userId}, {"CampaignId", campaignId}} 
                } 
            };

            var group = new BsonDocument 
            { 
                { "$group", 
                    new BsonDocument 
                    { 
                        { "_id", new BsonDocument {{"Email", "$Email" }, {"Link", "$Link"}, }}, 
                    } 
                } 
            };

            AggregateArgs pipeline = new AggregateArgs()
            {
                Pipeline = new[] { match, group }
            };
            var result = dbCollection.Aggregate(pipeline);
            return Convert.ToInt32(result.Count());

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用C#MongoDB驱动程序尝试使用FindAll

C#MongoDB驱动程序忽略超时选项

C#MongoDB驱动程序-如何使用UpdateDefinitionBuilder?

如何从C#Mongodb驱动程序查询时间戳记?

使用c#Mongodb驱动程序查询和投影嵌套数组

我应该使用c#mongodb驱动程序的同步方法还是异步方法?

使用C#MongoDB驱动程序的嵌套数组$ pull查询

如何从C#Mongodb强类型驱动程序中的文档中加载特定字段

C#Mongodb驱动程序-如何在位置0的数组中插入元素

使用C#MongoDB驱动程序,如何序列化对象引用的集合?

使用C#Mongodb驱动程序在嵌套列表中查找项目

如何在C#MongoDB驱动程序v2.0中获取连接状态?

C#MongoDB驱动程序[2.7.0] CountDocumentAsync意外的本机查询

使用C#mongodb驱动程序取消设置多个属性

C#MongoDB驱动程序:如何将新的子文档插入现有文档

GroupBy Mongodb使用驱动程序C#

C#MongoDB驱动程序:找不到在MongoDB中为AnyIn筛选器运行复杂查询的方法

在C#mongodb驱动程序中制作一个唯一元素数组

如何在C#Mongodb强类型驱动程序中基于嵌套数组元素创建索引

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

如何在C#Mongodb强类型驱动程序中基于嵌套数组元素进行过滤

将C#MongoDB v2驱动程序与鉴别符和多态性一起使用

如何在C#MongoDB驱动程序聚合管道中使用正则表达式

如何使用C#MongoDB驱动程序编写嵌套对象属性不能相等的强类型过滤器?

mongodb c ++驱动程序无法更新

MongoDB C ++驱动程序问题

下载用于MongoDB的C ++驱动程序

MongoDB C#驱动程序超时

MongoDB C#驱动程序CancellationToken