MongoDb Driver 2.0 C# Filter and Aggregate -


i'm playing around new driver of mongodb 2.0, , looking adding facetted searchs (temporary move ,before using elastic search).

here method created build agreggation. guess should work.

as parameter passed filterdefinition in method. don't find how limit agreggation filter.

any idea ???

    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 = l.model,                    hits = l.count,                     isselected = false                });             }         }          response.facetgroups.add(group);     } 

i haven't used facet, mongo driver aggregate has .match operation accepts filterdefinition.

collection1.aggregate().match(filter) 

Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -