Partilhar via


$sqrt

O $sqrt operador é usado para retornar a raiz quadrada de um número especificado. É comumente usado em pipelines de agregação para realizar cálculos matemáticos em campos numéricos dentro de documentos.

Sintaxe

{ $sqrt: <expression> }

Parâmetros

Parâmetro Descrição
<expression> Qualquer expressão válida que seja resolvida para um número.

Exemplo(s)

Exemplo 1: Calcular a raiz quadrada de um valor de vendas específico

O exemplo a seguir demonstra como calcular a raiz quadrada do valor dentro de fullSales um documento.

db.collection.aggregate([
  {
    $project: {
      name: 1,
      fullSales: 1,
      sqrtFullSales: { $sqrt: "$sales.fullSales" }
    }
  }
])

Esta saída inclui o valor fullSales original e sua raiz quadrada:

[
  { "_id": 1, "name": "Store A", "sales": { "fullSales": 100 }, "sqrtFullSales": 10 },
  { "_id": 2, "name": "Store B", "sales": { "fullSales": 225 }, "sqrtFullSales": 15 },
  { "_id": 3, "name": "Store C", "sales": { "fullSales": 400 }, "sqrtFullSales": 20 }
]

Exemplo 2: Calcular a raiz quadrada do total de vendas por categoria

Este exemplo mostra como calcular a raiz quadrada da totalSales para cada categoria de vendas.

db.collection.aggregate([
  {
    $unwind: "$sales.salesByCategory"
  },
  {
    $project: {
      name: 1,
      categoryName: "$sales.salesByCategory.categoryName",
      totalSales: "$sales.salesByCategory.totalSales",
      sqrtTotalSales: { $sqrt: "$sales.salesByCategory.totalSales" }
    }
  }
])

Esta saída calcula a raiz quadrada do totalSales para cada categoria de vendas:

[
  {
    "_id": 4,
    "name": "Electronics Store",
    "categoryName": "Laptops",
    "totalSales": 144,
    "sqrtTotalSales": 12
  },
  {
    "_id": 5,
    "name": "Fashion Outlet",
    "categoryName": "Shoes",
    "totalSales": 81,
    "sqrtTotalSales": 9
  }
]