使用猫鼬更新深层嵌套的子文档

Update deeply nested subdocument using mongoose

我尝试阅读了大部分类似的问题(并且有很多),但找不到任何我能理解的解决方案。

文档结构如下-

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

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

您可以通过findOne()方法获取文档。 当你有房间对象时,你可以通过这个调用找到板:

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

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

board.Devices.push(Device);

最后你必须在数据库中保存房间对象:

room.save();

希望对您有所帮助