MongoDB $log OperatorWhat is the $log operator?MongoDB provides a variety of arithmetic expression operators. The $log operator is one of those operators. The $log operator is used in the aggregation-pipeline stages. This operator is also used to calculate the log of a number in a given base and return the output as a double. Syntax of the $log operator:The <number> can be any valid expression that resolves to a non-negative number (0, 1, 2, 3....), and <base> can be any valid expression that resolves for a positive number greater than 1. Important point:
Examples:In the following examples, we are working with: >db.example1.find().pretty() { { "_id" : ObjectId("56254d4fdf2222265r4g1hb78452"), "name" : "rectangle", "area" : 16 } { "_id" : ObjectId("56254d4fdf2222265r4g1hb71478"), "name" : "rectangle", "area" : 6 } { "_id" : ObjectId("56254d4fdf2222265r4g1789654"), "name" : "circle", "area" : 19, "unit" : { "diameter" : 6, "radius" : 3 } } { "_id" : ObjectId("56254d4fdf2222265r4g1987412"), "name" : "rectangle", "area" : 20 } { "_id" : ObjectId("56254d4fdf2222265r4g1987412"), "name" : "square", "area" : 20 } { "_id" : ObjectId("56254d4fdf2222265r4g1987f15"), "name" : "triangle", "area" : null } } Example 1: Using $log operator In this example, we're going to find the log value of the area field in each rectangle, and the base value of the log is 10. Output: { "_id" : ObjectId("56254d4fdf2222265r4g1hb78452"), "name" : "rectangle", "area" : 16, "logArea" : 1.204119982655925 } { "_id" : ObjectId("56254d4fdf2222265r4g1789654"), "name" : " rectangle", "area" : 6, "logArea" : 0.778151250383644 } { "_id" : ObjectId("56254d4fdf2222265r4g1987412"), "name" : "rectangle", "area" : 20, "logArea" : 1.301029995663981 } Example 2: Using $log operator (embedded document) In this example, we're going to find the log value of the unit.radius field in the circle, and the base value of the log is 2. Output: { "_id" : ObjectId("56254d4fdf2222265r4g1789654"), "name" : "cricle", "area" : 19, "unit" : { "radius" : 3 }, "logRadius" : 1.5849625007212 } Example 3: Missing fields In this example, we're going to find the log value of the perimeter field in the square, and the base value of the log is 10. Output: { "_id" : ObjectId("56254d4fdf2222265r4g1987412"), "name" : "square", "area" : 20, "perimeter" : null } Example 4: Null value In this example, we're going to find the log value of the area field in the triangle, and the base value of the log is 16. Output: { "_id" : ObjectId("56254d4fdf2222265r4g1987f15"), "name" : "triangle", "area" : null, "logArea" : null, } Next TopicMongoDB $mod Operator |