使用mongoose更新深度嵌套的子文档

我试图阅读大部分类似的问题(而且有很多),但找不到任何我能理解的解决scheme。

如下所述的文件结构 –

[ {RoomID:Room1, Boards:[ {BoardID:Board1, Devices:[ {DeviceID:Dev1} ....] } ....] } .....] 

查询RoomID和BoardID后如何添加新设备?

你可以用findOne()方法获取文档。 当你有房间对象时,你可以用这个调用来find棋盘:

 var board = room.Boards.find(board => board.BoardId === BoardID); 

一旦你有了电路板,你可以添加它的设备:

 board.Devices.push(Device); 

最后,你必须保存房间对象的分贝:

 room.save(); 

希望能帮助到你