从前端到后端发送关系数据更新

时间:2018-09-04 11:40:36

标签: javascript node.js mongodb relationship non-relational-database

我有一张桌子,可以容纳不同的人。现在,用户可以选择一组人员(例如Tom Dick和Harry)并将他们分组为新的“团队”。在后端,我需要更新Tom,Dick和Harry并在他们的team_field中添加一个团队ID。

例如:

{
name: "Tom",
age: 12,
team_id: id_for_team_1
}

但是由于在用户选择Tom,Dick和Harry并创建团队之前,team_1不存在,所以我还没有team1的ID。

我似乎首先需要这个:

{
_id: id_for_team_1
team_name: "Team Cool"
team_color: "blue"
}

我将如何在前端解决此问题?

我的想法:向后端请求在服务器上创建团队,从后端取回team_id,然后将ID添加到Tom,Dick和Harry,然后发送他们的更新配置文件到后端?

但是:这是我可以采用的最简单的方法,还是有更好的方法来解决此问题?看起来很复杂。 理想地,我只想更新前端中的所有内容,即创建一个团队对象+更新配置文件,然后一次性将其全部发送到服务器。但是我不知道该怎么办,因为我似乎依赖于mongodbs id,不能仅仅在前端组成自己的ID。

1 个答案:

答案 0 :(得分:1)

如果您只想更新他们所属的团队,则可以在一个呼叫中发送一个用户ID列表,然后后端可以创建一个新团队并更新team_id。 伪代码:

1) POST /api/team
2) let userIds = req.body.userIds
3) newTeamId = Create a new team in Mongo and get its id
4) for(uid in userIds){ 
    user = Mongo.find(id : uid);
    user.teamId = newTeamId 
    Mongo.update(user)
 }

如果您还希望能够更新用户信息,我将创建2种API方法,一种用于更新用户个人资料,另一种用于管理团队。