Como posso calcular o preço positivo e o negativo usando mongodb ou robomongo?

abaixo estão meus dados de coleta de preços do usuário

{
    "_id" : ObjectId("584bc9ba420a6b189c510af6"),
    "user_id" : 1,
    "mobilenumber":"01234",
    "price" : 2000.0,
    "type" : "credit",

},
{
    "_id" : ObjectId("584bc9ba420a6b189c510af6"),
    "user_id" : 1,
    "mobilenumber":"01234",
    "price" : -1000.0,
    "type" : "credit",

},
{
    "_id" : ObjectId("584bc9ba420a6b189c3323w23"),
    "user_id" : 2,
    "mobilenumber":"04321",
    "price" : 1000.0,
    "type" : "credit",

}

aqui eu quero calcular o preço total positivo e negativo total de todos os usuários e preciso verificar se esse usuário existe ou não na coleção de resumo.se o registro não existir, precisamos criar um documento na coleção de resumo, se houver, precisamos atualizar " Preço positivo total "," Preço negativo total "e" Preço de saldo "

na tabela de resumo já existe esse registro

    {

        "user_id": "1",
        "mobilenumber":"01234",
        "Totalpositiveprice": 3000.0,
        "Totalnegativeprice": 0,
        "Balanceprice": 3000.0
    },
   {

        "user_id": "3",
        "mobilenumber":"05555",
        "Totalpositiveprice": 1000.0,
        "Totalnegativeprice": -100,
        "Balanceprice": 900.0
    }

precisamos atualizar o documento para "mobilenumber": "01234",

precisamos criar um novo documento para "mobilenumber": "04321",

"mobilenumber": "05555" não há necessidade de fazer nada porque não há nada no preço do usuário

finalmente eu deveria ter uma coleção de resumo como esta

 {

        "user_id": "1",
        "mobilenumber":"01234"
        "Totalpositiveprice": 5000.0,
        "Totalnegativeprice": -1000.0,
        "Balanceprice": 4000.0
    },
    {

        "user_id": "2",
         "mobilenumber":"04321"
        "Totalpositiveprice": 1000.0,
        "Totalnegativeprice": 0,
        "Balanceprice": 1000.0
    },
    {

    "user_id": "3",
    "mobilenumber":"05555",
    "Totalpositiveprice": 1000.0,
    "Totalnegativeprice": -100,
    "Balanceprice": 900.0
}

questionAnswers(4)

yourAnswerToTheQuestion