To get the data of the nested JSON object in MongoDB, use findOne() with projection and the $elemMatch operator to filter and return only specific nested array elements. Syntax db.collection.findOne( { "matchField": "value" }, { "arrayField": { $elemMatch: { "nestedField": "value" } } } ); Sample Data db.demo109.insertOne({ "Name": "Chris", "Subjects": [ { "Id": "100", ... Read More
To use variables in MongoDB queries, work with the var keyword to declare variables and reference them in your queries. This approach makes queries more flexible and reusable. Syntax var variableName = "value"; db.collection.find({"field": variableName}); Sample Data Let us create a collection with documents ? db.demo107.insertMany([ {"Name": "Chris"}, {"Name": "Bob"}, {"Name": "David"} ]); { "acknowledged": true, "insertedIds": [ ObjectId("5e2ee1b19fd5fd66da214471"), ... Read More
To insert array elements when they don't exist or update them when they do using multiple conditions, use bulkWrite() with multiple updateOne operations. This allows conditional updates and insertions in a single atomic operation. Syntax db.collection.bulkWrite([ { "updateOne": { "filter": { "field": "value", "array": { "$elemMatch": { conditions } } }, "update": { "$set": { "array.$.field": "newValue" } } ... Read More
To implement $dateToString on array items in MongoDB, use the $map operator inside an aggregation pipeline to transform date fields within array elements into formatted strings. Syntax db.collection.aggregate([ { $project: { "arrayField": { $map: { "input": "$arrayField", ... Read More
To aggregate JSON array field for matching fields from another collection in MongoDB, use $lookup combined with $unwind to join collections based on array elements, then reconstruct the result using $group. Syntax db.collection1.aggregate([ { $unwind: "$arrayField" }, { $lookup: { from: "collection2", localField: "arrayField.joinField", foreignField: "_id", as: "matchedData" }}, ... Read More
To fetch documents except a specific document, use the $nor operator in MongoDB. The $nor operator performs a logical NOR operation, returning documents that do not match any of the conditions in the array. Syntax db.collection.find({ $nor: [ { field1: value1 }, { field2: value2 } ] }); Sample Data Let's create a collection with sample documents ? db.demo100.insertMany([ { "Name": "Chris", "Age": 21 ... Read More
To group nested fields in MongoDB aggregation with count values from arrays, use the $objectToArray operator to convert nested objects into key-value pairs, then use $unwind and $group to aggregate the count values. Syntax db.collection.aggregate([ { $project: { fieldName: { $objectToArray: "$nestedObject" } } }, { $unwind: "$fieldName" }, { $group: { _id: "$fieldName.k", count: { $sum: "$fieldName.v.countField" } } } ]) Sample Data db.demo99.insertMany([ { "Details": { ... Read More
To increment a property value of an element in a MongoDB array, use the $inc operator combined with the $ positional operator. The $ operator identifies the matched array element, while $inc increases the specified field by a given value. Syntax db.collection.update( { "arrayField.property": "matchValue" }, { $inc: { "arrayField.$.targetProperty": incrementValue } } ); Sample Data Let us create a collection with student details ? db.demo97.insertOne({ "Details": [ { ... Read More
To find sum of fields inside array in MongoDB, use the $sum operator with the aggregation pipeline. The $sum operator can directly reference array fields using dot notation to calculate the total of numeric values. Syntax db.collection.aggregate([ { $project: { "fieldName": 1, "totalSum": { $sum: ... Read More
To update array with multiple conditions in MongoDB, use $elemMatch to match array elements with specific criteria, combined with $push and the positional operator $ to add new elements to the matched array element. Syntax db.collection.updateOne( { "arrayField": { "$elemMatch": { "field1": "value1", "field2": "value2" } } }, { "$push": { "arrayField.$.targetField": newValue } } ); Sample Data db.demo94.insertOne({ "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