Advertisement
Guest User

Untitled

a guest
Aug 28th, 2014
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. db.montele_negocio.aggregate([
  2.     {
  3.         $match: {
  4.             'fase': 'Proposta'
  5.         }
  6.     },
  7.     {
  8.         $project: {
  9.             'aplicacao.preco_tabela': 1,
  10.             cond1: {
  11.                 $cond:  {
  12.                     if: {
  13.                         $lt: ['$localinstalacao.distancia_da_filial', 60000]
  14.                     },
  15.                     then: 1,
  16.                     else: 0
  17.                 }
  18.             },
  19.             cond2: {
  20.                 $cond:  {
  21.                     if: {
  22.                         $and: [
  23.                             {$gte: ['$localinstalacao.distancia_da_filial', 60000]},
  24.                             {$lt: ['$localinstalacao.distancia_da_filial', 120000]}
  25.                         ]
  26.                     },
  27.                     then: 2,
  28.                     else: 0
  29.                 }
  30.             },
  31.             cond3: {
  32.                 $cond:  {
  33.                     if: {
  34.                         $and: [
  35.                             {$gte: ['$localinstalacao.distancia_da_filial', 120000]},
  36.                             {$lt: ['$localinstalacao.distancia_da_filial', 250000]}
  37.                         ]
  38.                     },
  39.                     then: 3,
  40.                     else: 0
  41.                 }
  42.             },
  43.             cond4: {
  44.                 $cond:  {
  45.                     if: {
  46.                         $and: [
  47.                             {$gte: ['$localinstalacao.distancia_da_filial', 250000]},
  48.                             {$lt: ['$localinstalacao.distancia_da_filial', 400000]}
  49.                         ]
  50.                     },
  51.                     then: 4,
  52.                     else: 0
  53.                 }
  54.             },
  55.             cond5: {                                        
  56.                 $cond:  {
  57.                     if: {
  58.                         $and: [
  59.                             {$gte: ['$localinstalacao.distancia_da_filial', 400000]},
  60.                             {$lt: ['$localinstalacao.distancia_da_filial', 650000]}
  61.                         ]
  62.                     },
  63.                     then: 5,
  64.                     else: 0
  65.                 }
  66.             },
  67.             cond6: {                                        
  68.                 $cond:  {
  69.                     if: {
  70.                         $gte: ['$localinstalacao.distancia_da_filial', 650000]
  71.                     },
  72.                     then: 6,
  73.                     else: 0
  74.                 }
  75.             }
  76.         }
  77.     },
  78.     {
  79.         '$project': {
  80.             'distancia': {
  81.                 $add: ['$cond1', '$cond2', '$cond3', '$cond4', '$cond5', '$cond6']
  82.             },
  83.             'aplicacao.preco_tabela': 1
  84.         }
  85.     },
  86.     {
  87.         '$group': {
  88.             'count': {'$sum': 1},
  89.             'sum': {'$sum': '$aplicacao.preco_tabela'},
  90.             '_id': '$distancia'
  91.         }
  92.     }
  93. ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement