mongodb - MongoDB 如何保持数据同步
问题描述
假设我有一个社交媒体应用程序。有一个Group
模型有一个名为的字段invitedUsers
,它只是一个用户 ID 数组,它们是该组的一部分。
在我的后端,我有一条用户点击加入的路线Group
。在该路线中,我执行以下操作:
group.invitedUsers = lodash.concat(group.invitedUsers || [], userId)
group.save()
wheregroup
是用户想要加入的群组,是想要加入群组的用户userId
的 id。保存后,所有内容都会正确更新,并且用户现在是该组的一部分。
但是如果两个用户同时到达路线会发生什么?MongoDB如何确保group
始终通过上述方法添加两个用户ID。group.invitedUsers
如果这两个group.save()
都在同一时间被触发,是否没有机会引用一个陈旧的值?
解决方案
推荐阅读
- php - 在 laravel 查询生成器上的条件位置不返回任何结果
- php - 当我的页面重新加载而我没有点击“提交”时,我的邮件就被发送了
- spring - 如何在hibernate中映射数据库结构
- python - 错误 - JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
- ios - iOS 如何将凭据添加到 ASCredentialIdentityStore
- django - 我应该使用 uWSGI 吗?
- python - docker化时pip要求不匹配
- bash - bash - 将变量从脚本加载到主 shell
- spring-boot - 如何实现多后端服务和解耦架构的单点登录
- python - django 如何在 HTML 中仅使用 {% url ' x' %} 发出 POST 请求