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

时间:2017-12-04 11:50:59

标签: node.js mongodb mongoose mongodb-query mongoose-schema

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

如下所述的文件结构 -

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用findOne()方法获取文档。 当您拥有房间对象时,您可以通过以下呼叫查找电路板:

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

获得电路板后,您可以将其添加到设备中:

board.Devices.push(Device);

最后你必须在db:

中保存房间对象
room.save();

希望有所帮助