$log
The `$log` operator calculates the logarithm of a number in the specified base.
Syntax
{ $log: [ <number>, <base> ] }
Parameters
<number>
stringrequiredAny valid expression that resolves to a positive number.
<base>
stringrequiredAny valid expression that resolves to a positive number to be used as the logarithm base.
Examples
Sample Data
{
"_id": "0fcc0bf0-ed18-4ab8-b558-9848e18058f4",
"sales": {
"salesByCategory": [
{ "categoryName": "Wine Accessories", "totalSales": 34440 }
]
}
}
Calculate the log of total sales
Calculate the log of sales volumes per category in base 2 and 10.
Query:
db.stores.aggregate([
{ $match: { _id: "40d6f4d7-50cd-4929-9a07-0a7a133c2e74" } },
{
$project: {
name: 1,
categoryAnalysis: {
$map: {
input: "$sales.salesByCategory",
as: "category",
in: {
categoryName: "$$category.categoryName",
sales: "$$category.totalSales",
logBase2: { $log: ["$$category.totalSales", 2] },
logBase10: { $log: ["$$category.totalSales", 10] }
}
}
}
}
}
])
Output:
[
{
"_id": "40d6f4d7-50cd-4929-9a07-0a7a133c2e74",
"name": "Proseware, Inc. | Home Entertainment Hub",
"categoryAnalysis": [
{ "categoryName": "Sound Bars", "sales": 2120, "logBase2": 11.051, "logBase10": 3.326 }
]
}
]