javascript - 从前端向后端发送关系数据更新

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

我有一张 table ,可以容纳不同的人。现在,用户可以选择一组人(例如 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。

最佳答案

如果您只想更新他们所属的团队,您只需在一次调用中发送 userId 列表,然后后端就可以创建一个新团队并更新 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 方法,一个用于更新用户个人资料,另一个用于管理团队。

关于javascript - 从前端向后端发送关系数据更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52165507/

相关文章:

javascript - 如何正确循环菜单中的每个选项并检查属性的值?

c# - 将不断增长的页面滚动到底部

javascript - MongoDB 通过动态 ID 更新嵌套项

javascript - 使用 mongoose 验证 Express 中的 OTP

node.js - 如何使用 Node.js 检测网络变化

mongodb - Spring Remember-me 与 MongoDB 不会删除 token

javascript - 如何将类似 JSON 的字符串转换为 Javascript 对象?

javascript - 使用 prev 和 next 动画 CSS3 旋转 onclick

node.js - 无法在 Node 上安装 puppeteer 包

mysql - 如何从 Node.js 中运行 Mysql Select 的函数返回值