To calculate the average of numeric values in MongoDB, use the $avg aggregation operator within the $group stage. This operator computes the average of all specified numeric values across documents. Syntax db.collection.aggregate([ { $group: { "_id": null, "averageField": { $avg: "$fieldName" } } } ]); Sample Data ... Read More
The MongoDB $or operator allows you to perform logical OR operations in find() queries. It matches documents that satisfy at least one of the specified conditions in an array of query expressions. Syntax db.collection.find({ $or: [ { field1: value1 }, { field2: value2 }, { field3: value3 } ] }); Sample Data db.demo78.insertMany([ { "Name1": "Chris", "Name2": ... Read More
To implement multilevel $group in MongoDB, use the aggregation pipeline with multiple $group stages to group data at different levels and create nested structures. Syntax db.collection.aggregate([ { $group: { _id: { field1: "$field1", field2: "$field2" }, count: { $sum: 1 } } }, { $group: { _id: "$_id.field1", nestedData: { $push: { k: "$_id.field2", v: "$count" } } } }, { $addFields: { nestedData: { $arrayToObject: "$nestedData" } } } ]); Sample Data db.demo76.insertMany([ { Name: "Chris", ... Read More
To return only a specific number of elements from an array field in MongoDB, use aggregate() with the $slice operator in a $project stage. Syntax db.collection.aggregate([ { $project: { fieldName: { $slice: [ "$fieldName", numberOfElements ] } } } ]); Create Sample Data db.demo75.insertOne({ "Name": ["Sam", "Mike", "Carol", "David", "Bob", "John"] }); ... Read More
To find MongoDB documents where all objects in an array have a specific value, use the $not operator combined with $elemMatch to exclude documents that contain any non-matching values. Syntax db.collection.find({ "arrayField": { "$not": { "$elemMatch": { "field": { $ne: "desiredValue" } } } } }); Sample Data db.demo74.insertMany([ ... Read More
To get the first and last document in MongoDB, use aggregate() with $first and $last operators within a $group stage. This efficiently retrieves both documents in a single operation. Syntax db.collection.aggregate([ { $group: { _id: null, first: { $first: "$$ROOT" }, last: { $last: "$$ROOT" } ... Read More
To query the nth element (variable index) of a subdocument array in MongoDB, use $expr with $let to define a temporary variable that extracts the element at a specific index using $arrayElemAt. Syntax db.collection.find({ $expr: { $let: { vars: { variableName: { $arrayElemAt: [ "$arrayField", index ] } }, in: { $eq: [ "$$variableName.field", "value" ] } ... Read More
To calculate sum of string values in MongoDB, use the aggregate pipeline with $group and $sum operators. Convert string numbers to integers using $toInt before summing them. Syntax db.collection.aggregate([ { $group: { _id: null, totalSum: { $sum: { $toInt: "$fieldName" } ... Read More
To concatenate deep sub-lists in MongoDB, use the $unwind operator in an aggregation pipeline to flatten nested arrays, then apply additional transformations like sorting, limiting, and reshaping the results. Syntax db.collection.aggregate([ { $unwind: "$arrayField1" }, { $unwind: "$arrayField1.nestedArray" }, { $sort: { "arrayField1.nestedArray.field": 1 } }, { $replaceRoot: { newRoot: "$arrayField1.nestedArray" } } ]); Sample Data db.demo70.insertOne({ "first": [ { ... Read More
To find all documents where a property id equals the record's _id in MongoDB, use the $where operator with a JavaScript function that compares the field values after converting them to strings. Syntax db.collection.find({ $where: function(){ return this._id.toString() == this.fieldName.toString(); } }); Sample Data db.demo69.insertMany([ { "_id": ObjectId("507c7f79bcf86cd7994f6c0e"), "Details": { ... Read More
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Economics & Finance