As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$mul
O $mul operador no Amazon DocumentDB é usado para multiplicar o valor de um campo por um número especificado. Isso pode ser útil para atualizar vários documentos de forma atômica e consistente, como atualizar milhas de voo com base no status do cartão de crédito.
Parâmetros
-
field: O campo a ser multiplicado. -
multiplier: o número pelo qual multiplicar o valor do campo.
Exemplo (MongoDB Shell)
Este exemplo demonstra como usar o $mul operador para dobrar o flight_miles valor de todos os documentos em que o credit_card campo estátrue.
Crie documentos de amostra
db.miles.insertMany([ { "_id": 1, "member_since": new Date("1987-01-01"), "credit_card": false, "flight_miles": [1205, 2560, 880] }, { "_id": 2, "member_since": new Date("1982-01-01"), "credit_card": true, "flight_miles": [2410, 5120, 1780, 5560] }, { "_id": 3, "member_since": new Date("1999-01-01"), "credit_card": true, "flight_miles": [2410, 1760] } ]);
Exemplo de consulta
db.miles.update( { "credit_card": { "$eq": true } }, { "$mul": { "flight_miles.$[]": NumberInt(2) } }, { "multi": true } );
Saída
{ "_id" : 1, "member_since" : ISODate("1987-01-01T00:00:00Z"), "credit_card" : false, "flight_miles" : [ 1205, 2560, 880 ] }
{ "_id" : 2, "member_since" : ISODate("1982-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 4820, 10240, 3560, 11120 ] }
{ "_id" : 3, "member_since" : ISODate("1999-01-01T00:00:00Z"), "credit_card" : true, "flight_miles" : [ 4820, 3520 ] }
Para os clientes que têm cartão de crédito, suas milhas de voo foram dobradas.
O operador de matriz $[] posicional é usado para aplicar a $mul operação a cada elemento na flight_miles matriz.
Exemplos de código
Para ver um exemplo de código para usar o $mul comando, escolha a guia do idioma que você deseja usar: