MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

एकाधिक पहलुओं के साथ एकत्रीकरण फ्रेमवर्क सी # में पहलुओं का उपयोग करना, खोलना और क्रमबद्ध करना

मुझे लगता है कि यहां एक चुनौती यह है कि $unwind . के बाद चरणों में आपको तुरंत BsonDocument से निपटना होगा आपके $facet . में चरण - नहीं Product स.

वैसे भी, यहाँ एक कार्यशील संस्करण है:

var tomFilter = Builders<BsonDocument>.Filter.Eq("ProductAttributes.ProductAttributeType", "Tom");
var matchTom = PipelineStageDefinitionBuilder.Match(tomFilter);

var colecaoFilter = Builders<BsonDocument>.Filter.Eq("ProductAttributes.ProductAttributeType", "Coleção");
var matchColecao = PipelineStageDefinitionBuilder.Match(colecaoFilter);

var sortByCount = PipelineStageDefinitionBuilder.SortByCount<BsonDocument, string>("$ProductAttributes.Values");

var pipelineTom = PipelineDefinition<BsonDocument, AggregateSortByCountResult<string>>.Create(new IPipelineStageDefinition[] { matchTom, sortByCount });
var pipelineColecao = PipelineDefinition<BsonDocument, AggregateSortByCountResult<string>>.Create(new IPipelineStageDefinition[] { matchColecao, sortByCount });

var facetPipelineTom = AggregateFacet.Create("Tom", pipelineTom);
var facetPipelineColecao = AggregateFacet.Create("Colecao", pipelineColecao);

var pipeline = _products.Aggregate()
    .Unwind(p => p.ProductAttributes)
    .Unwind(p => p["ProductAttributes.Values"])
    .Facet(facetPipelineTom, facetPipelineColecao);

Console.WriteLine(pipeline.Single().Facets.ToJson());



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी - पेजिंग

  2. मोंगोडम्प के साथ उल्का डेटाबेस का बैकअप लें?

  3. MongoDB अद्यतन कई सशर्त के साथ

  4. नेवला / MongoDB:सरणी में तत्वों की गणना करें

  5. ClusterControl में डेटाबेस ऑपरेशनल रिपोर्टिंग का अवलोकन