Dela via


$trunc

Operatorn $trunc används för att trunkera ett tal till en angiven decimal. Den här operatorn är särskilt användbar i scenarier där du behöver begränsa precisionen för numeriska data, till exempel ekonomiska beräkningar, rapportering eller datanormalisering.

Syntax

{ $trunc: [ <number>, <place> ] }

Parametrar

Parameter Description
<number> Talet som ska trunkeras.
<place> Decimalplatsen att trunkera till. Ett positivt värde trunkerar till höger om decimaltecknet och ett negativt värde trunkerar till vänster om decimaltecknet.

Exempel

Trunkera latitud

Det här exemplet visar hur du använder operatorn $trunc för att trunkera latitudvärdet i location fältet till 2 decimaler.

db.collection.aggregate([
  {
    $project: {
      truncatedLat: { $trunc: ["$location.lat", 2] }
    }
  }
])

Detta trunkerar lat-värdet till två decimaler:

[
  { "_id": 1, "location": { "lat": 37.774929 }, "truncatedLat": 37.77 },
  { "_id": 2, "location": { "lat": 40.712776 }, "truncatedLat": 40.71 }
]

Trunkera försäljning

I det här exemplet trunkerar fullSales vi värdet i sales fältet till närmaste heltal.

db.collection.aggregate([
  {
    $project: {
      truncatedSales: { $trunc: ["$sales.fullSales", 0] }
    }
  }
])

Detta trunkerar fullSales till närmaste heltal genom att ta bort decimaldelen:

[
  { "_id": 3, "sales": { "fullSales": 1234.56 }, "truncatedSales": 1234 },
  { "_id": 4, "sales": { "fullSales": 9876.99 }, "truncatedSales": 9876 }
]