如何在 mongodb 中的数组对象的嵌套数组中添加元素

how to add element in nested array of objects of array in mongodb

这张图片包含 my data ,
我正在使用 mongodb 作为数据库和 mongoose 进行连接
我想在主题数组和子主题数组

中推送元素

您可以为任务使用 arrayFilters,例如:

这将在主题数组中推送新元素={test:1},其中元素的会话名称为:'Java':

 db.c.update( { name: "class 1" } , { $push: { 'sessions.$[x].topics':{test:1 } } } , { arrayFilters : [{ 'x.sessionName':'Java' }] }  )

这将从 sessionName='Java':

的会话中将 element=1 推送到具有 _id:1 的子主题数组中
 db.c.update( { name: "class 1" } , { $push: { 'sessions.$[x].topics.$[y].subTopic':1 } } , { arrayFilters : [{ 'x.sessionName':'Java' },{'y._id':1}] }  )