MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Пролетни данни mongodb - интеграция на рамка за агрегиране

Spring Data 1.3.0.RC1 е наличен и поддържа рамката за агрегиране.

Например:Командата за агрегиране на обвивката:

db.eft_transactions.aggregate(
    {$match:
        {
            service:"EFT",
            source:"MARKUP",
        }
    },
    {$group:
        {
            _id:"$card_acceptor_id",
            tran_count:{$sum:1},
            amount_sum:{$sum:"$amount"}
        }
    }
)

се изпълнява по този начин от java:

    AggregationOperation match = Aggregation.match(Criteria.where("service").is("EFT").and("source").is("MARKUP"));
    AggregationOperation group = Aggregation.group("card_acceptor").and("amount_sum").sum("amount").and("tran_count").count();
    Aggregation aggregation = newAggregation(match, group);
    AggregationResults<StoreSummary> result = this.mongoTemplate.aggregate(aggregation, "eft_transactions", StoreSummary.class);

Документацията е тук

ЗАБЕЛЕЖКА:Наскоро трябваше да преминем към използване на компилацията BUILD-SNAPSHOT на версия 1.3.0. Тази промяна наложи промяната на 2 от горните редове, които се промениха на:

AggregationOperation group = Aggregation.group("card_acceptor").sum("amount").as("amount_sum").count().as("tran_count");
Aggregation aggregation = Aggregation.newAggregation(match, group);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Извличане на множество заявени елементи в обектен масив в колекция MongoDB

  2. Създаване на частичен индекс, когато полето не е нула

  3. Spark и MongoDB приложение в Scala 2.10 maven вградена грешка

  4. Mongo $in със съставен индекс

  5. Премахване на поддокумент от масив в MongodDB