strongloop loopback:如何保存多对多关系

时间:2015-09-22 22:00:23

标签: postgresql many-to-many loopbackjs

我定义了以下关系:

{
  "name": "playlist",
  "base": "PersistedModel",
  "relations": {
    "songs": {
      "type": "hasAndBelongsToMany",
      "model": "song",
      "foreignKey": ""
    } 
  }  
}  

所以Song hasAndBelongsToMany Playlist。到目前为止一切都很好。

但是当谈到将歌曲添加到播放列表时,我很困惑。

理想情况下,我希望能够在播放列表create端点的同一调用中添加新歌曲。我不知道该怎么做,而且文档非常糟糕。

我似乎必须在POST/playlists/:id/songs才能将歌曲与播放列表相关联?但是,我不想创建新歌,只需将现有歌曲添加到播放列表中。那会这样吗?上述网址的POST是否会添加(并希望创建)新歌?

BTW,使用postgresql作为后端。 这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:4)

当您创建hasAndBelongsToMany关系时,Loopback会将JS方法添加和删除为documented。但是,我无法找到有关它如何在API中公开的任何文档,但this pull request解释了如何执行此操作:

  • 将歌曲添加到播放列表:PUT /api/playlist/:id/song/rel/:fk
  • 从播放列表中删除歌曲:DELETE /api/playlist/:id/song/rel/:fk

请注意,这假设您有一个PlaylistSong链接表和Loopback模型,其中包含PlaylistId和SongId字段以及所有正确的关系。