小编Lau*_*nne的帖子

MongoDb 驱动程序 2.0 C# 过滤器和聚合

我正在玩 mongodb 2.0 的新驱动程序,并寻找添加一些分面搜索(临时移动,在使用弹性搜索之前)。

这是我创建的一些方法来构建聚合。我想它应该工作。

作为参数,我还在方法中传递了一个过滤器定义。但我没有找到如何将我的聚合限制为过滤器。

任何的想法 ???

    private void UpdateFacets(SearchResponse response, FilterDefinition<MediaItem> filter, ObjectId dataTableId)
    {

        response.FacetGroups =new List<SearchFacetGroup>();

        SearchFacetGroup group = new SearchFacetGroup()
        {
            Code = "CAMERAMODEL",
            Display = "Camera model",
            IsOptional = false
        };

        using (IDataAccessor da = NodeManager.Instance.GetDataAccessor(dataTableId))
        {
            var collection = da.GetCollection<MediaItem>();
            var list = collection.Aggregate()
                .Group(x => ((ImageMetaData) x.MetaData).Exif.CameraModel, g => new { Model = g.Key, Count = g.Count() })
                .ToListAsync().Result;


            foreach (var l in list)
            {
               group.Facets.Add(new SearchFacetContainer()
               {
                   Code = l.Model,
                   Display …
Run Code Online (Sandbox Code Playgroud)

c# grouping filtering mongodb facets

2
推荐指数
1
解决办法
3609
查看次数

标签 统计

c# ×1

facets ×1

filtering ×1

grouping ×1

mongodb ×1