sql >> Database teknologi >  >> NoSQL >> MongoDB

Gør en sum med mongo db aggregeringsramme

Dette er ligetil at gøre med en aggregationspipeline :

db.test.aggregate([
  // Filter the docs based on your criteria
  {$match: {
    type1: {$in: ['type1A', 'type1B']},
    type2: {$in: ['type2A', 'type2B']},
    'date.year': 2015,
    'date.month': 4,
    'date.type': 'day',
    'date.day': {$gte: 4, $lte: 7}
  }},

  // Group by iddoc and count them
  {$group: {
    _id: '$iddoc',
    sum: {$sum: 1}
  }},

  // Sort by sum, descending
  {$sort: {sum: -1}}
])


  1. FieldPath-feltnavne må ikke indeholde '.' i $gruppe

  2. MongoDB- Indsæt hvis det ikke findes, ellers spring over

  3. konvertering fra blob til binær for at gemme den til mongodb

  4. Elem match returnerer alle data, mens jeg kun har brug for de valgte data