В настоящее время я использую фильтры массива для обновления вложенного объекта.Моя структура -
Category Collection -
{
name:Disease,
_id:ObjectId,
subCategory:[{
name:Hair Problems,
_id:ObjectId,
subSubCategory:[{
name: Hair Fall,
_id:ObjectId
},{
name: Dandruff,
_id:ObjectId
}]
}]
}
Я хочу обновить подкатегорию с идентификатором 1.1.1, что я делаю, используя фильтры массива.
let query = { 'subCategories.subSubCategories._id': subSubId };
let update = { $set: { 'subCategories.$.subSubCategories.$[j]': data } };
let option = { arrayFilters: [{ 'j._id': subSubId }], new: true };
await Categories.findOneAndUpdate(query, update, option
Этот код работает нормально, но фильтры массиваизменить идентификатор объекта subsubCategory.Есть ли другая альтернатива сделать это без изменения ObjectId.
Заранее спасибо