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
}