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á.
$addFields
O $addFields estágio no pipeline de agregação do Amazon DocumentDB permite que você adicione novos campos computados aos documentos. Isso pode ser útil para adicionar dados derivados ou transformados aos documentos.
Parâmetros
-
newField: o nome do novo campo a ser adicionado. -
expression: uma expressão que se resolve com o valor do novo campo.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra como usar $addFields para adicionar um novo campo TotalInventory que calcula o estoque total com base nos campos Inventory.OnHand e. Inventory.OrderQnty
Crie documentos de amostra
db.example.insertMany([ { "Item": "Spray Paint", "Colors": ["Black", "Red", "Green", "Blue"], "Inventory": { "OnHand": 47, "MinOnHand": 50, "OrderQnty": 36 }, "UnitPrice": 3.99 }, { "Item": "Ruler", "Colors": ["Red", "Green", "Blue", "Clear", "Yellow"], "Inventory": { "OnHand": 47, "MinOnHand": 40 }, "UnitPrice": 0.89 } ]);
Exemplo de consulta
db.example.aggregate([ { $addFields: { TotalInventory: { $add: ["$Inventory.OnHand", "$Inventory.OrderQnty"] } } } ])
Saída
[
{
"_id" : ObjectId("5bedafbcf65ff161707de24f"),
"Item" : "Ruler",
"Colors" : [ "Red", "Green", "Blue", "Clear", "Yellow" ],
"Inventory" : {
"OnHand" : 47,
"MinOnHand" : 40
},
"UnitPrice" : 0.89,
"TotalInventory" : 47
},
{
"_id" : ObjectId("5bedafbcf65ff161707de250"),
"Item" : "Spray Paint",
"Colors" : [ "Black", "Red", "Green", "Blue" ],
"Inventory" : {
"OnHand" : 47,
"MinOnHand" : 50,
"OrderQnty" : 36
},
"UnitPrice" : 3.99,
"TotalInventory" : 83
}
]
Exemplos de código
Para ver um exemplo de código para usar o $addFields comando, escolha a guia do idioma que você deseja usar: