Intermediate LevelMongoDB & Mongoose
How do arrayFilters update specific nested elements inside multi-dimensional arrays?
❓ Interview Prompt: Explain arrayFilters positional updates, $[identifier] positional operator, and updating matching items inside nested arrays.
The 'arrayFilters' option in MongoDB update operations specifies condition identifiers ('$[elem]') to target and update specific matching items inside array fields:
Code Implementation Example
typescript
import { StudentModel } from './models/Student';
async function updateSpecificGrade(studentId: string) {
// Update score ONLY for 'Math' subject in grades array
await StudentModel.updateOne(
{ _id: studentId },
{ $set: { 'grades.$[elem].score': 95 } },
{
arrayFilters: [{ 'elem.subject': 'Math' }]
}
);
}💡Updating specific array elements using arrayFilters.
🎯 Interview Key Takeaway
Use arrayFilters with $[elem] syntax to target and update specific items inside array fields.
#arrayFilters#$[elem]#Array Updates#Intermediate
Back to all MongoDB & Mongoose Questions→