![]() | 1 yumc 2024-04-17 10:39:29 +08:00 group 下线的时候,执行 updat e 操作 item 表。 或者两个概念放一张表中,两层结构,作为一个记录处理。 你可以把 MongoDB 当做 MySQL 使用,MySQL 怎么处理,MongoDB 也怎么处理,知识具体的操作方式不一样,思路和数据结构是一样的; 或者利用文档型数据库的优点,用嵌套结构都放在一起处理。 |
2 rabbitsniper 2024-04-17 12:27:34 +08:00 两张表应该有通过一个 id 联系起来,更改 group online 状态时也 update item 表,最好用事务来实现 |
![]() | 3 libook 2024-04-17 12:38:16 +08:00 非关系型数据库是可以存储结构信息的,你可以把 group 和下面的 item 组成一个树状结构存在一个集合里面,然后设置下线的时候只需要设置 group 对象的 online 属性更新为 false 就可以,在判断 item 状态的时候判断它的 group 父对象的 online 属性。 如果因为某种原因你必须要同时更新两个集合,你可以使用 MongoDB 的事务操作。 如果你最终发现你的数据结构是强关系模型,请换用关系型数据库。 |
![]() | 4 maocat 2024-04-17 13:14:26 +08:00 via iPhone bulkwrite |
5 luozic 2024-04-17 13:18:56 +08:00 mongodb 有事务啊。 |
![]() | 6 IvanLi127 2024-04-17 13:33:45 +08:00 要么改结构,要么接受非原子操作,要么上单机集群跑事物 |
7 SevenNight2020 OP 感谢各位老哥哥的建议,我大致有方向了,非常感谢! |
8 ashuai 2024-04-17 14:00:55 +08:00 给个建议,这种言之无物的主题在这里是不受欢迎的 |