1

This is my schema...How can I push an element in an array of an array? example: I've to insert an element in (patient.problems.feedback) in an already existing document. please help me how to code in node js-MongoDB

let Patient = new Schema({
    patient: {
        patientId: {
            type: String,
            required: false
        },
        name: {
            type: String,
            required: true
        },
        age: {
            type: String,
            required: true
        },
        gender: {
            type: String,
            required: true
        },
        city: {
            type: String
        },
        phoneNumber: {
            type: String,
            min: 10,
            max: 10
        },
        referredBy: {
            type: String
        },
        createdAt: {
            type: String
        }

    },
    Problems: [{
        problemId: {
            type: String,
            required: false
        },
        problem: {
            type: String,
            required: true
        },
        howLongSuffered: {
            type: String
        },
        medicinesFollowed: {
            type: String
        },
        createdAt: {
            type: String
        },
        feedbacks: [{
            feedbackId: {
                type: String,
                required: false
            },
            feedback: {
                type: String,
                required: false
            },
            updatedAt: {
                type: String
            }
        }]
    }]

})




**This is my controller

How can I update the existing document by pushing an element into the feedbacks **

exports.addFeedbackDetailsForExistingProblem = async function(req, res) {
    try {
        let feedbackCreatedDate = new Date();
        feedbackCreatedDate = feedbackCreatedDate.toDateString();
        await patientModel.findById(req.params.id).then(async(result) => {
            console.log(result + req.body.id);
            await result.updateOne({ 'Problems._id': req.body.id }, {
                $push: {
                    'Problems.feedbacks': {
                        'feedbacks.feedback': req.body.feedback,
                        'feedbacks.createdAt': feedbackCreatedDate
                    }
                }

            })
        });
    } catch (err) {
        res.status(500).send("Something Went Wrong");
    }
}






Ragavan R
  • 11
  • 1
  • Does this answer your question? [Mongodb $push in nested array](https://stackoverflow.com/questions/27874469/mongodb-push-in-nested-array) – IvanPenga Sep 08 '20 at 10:00

0 Answers0