SevenNight2020
V2EX  ›  MongoDB

新人小白求教

By SevenNight2020 at 2024 年 4 月 17 日 · 4211 次点击
MongoDB 下,我现在有两张表,一张是群组 group 表,一张是组子项 item 表,现在 group 有一个 online 字段,item 也有一个 online 字段,我希望在 group 下线的时候同时更新其下所有的 item 也下线 这个通过 MongoDB 要怎么实现啊,老哥哥们给提供点思路或者解决方案呗,我刚接触 MongoDB ,没啥经验
8 条回复    2024-04-17 14:00:55 +08:00
yumc
   1
yumc  
   2024 年 4 月 17 日
group 下线的时候,执行 updat e 操作 item 表。
或者两个概念放一张表中,两层结构,作为一个记录处理。

你可以把 MongoDB 当做 MySQL 使用,MySQL 怎么处理,MongoDB 也怎么处理,知识具体的操作方式不一样,思路和数据结构是一样的;
或者利用文档型数据库的优点,用嵌套结构都放在一起处理。
rabbitsniper
   2
rabbitsniper  
   2024 年 4 月 17 日
两张表应该有通过一个 id 联系起来,更改 group online 状态时也 update item 表,最好用事务来实现
libook
   3
libook  
   2024 年 4 月 17 日
非关系型数据库是可以存储结构信息的,你可以把 group 和下面的 item 组成一个树状结构存在一个集合里面,然后设置下线的时候只需要设置 group 对象的 online 属性更新为 false 就可以,在判断 item 状态的时候判断它的 group 父对象的 online 属性。

如果因为某种原因你必须要同时更新两个集合,你可以使用 MongoDB 的事务操作。

如果你最终发现你的数据结构是强关系模型,请换用关系型数据库。
maocat
   4
maocat  
   2024 年 4 月 17 日 via iPhone
bulkwrite
luozic
   5
luozic  
   2024 年 4 月 17 日
mongodb 有事务啊。
IvanLi127
   6
IvanLi127  
   2024 年 4 月 17 日
要么改结构,要么接受非原子操作,要么上单机集群跑事物
SevenNight2020
   7
SevenNight2020  
OP
   2024 年 4 月 17 日
感谢各位老哥哥的建议,我大致有方向了,非常感谢!
ashuai
   8
ashuai  
   2024 年 4 月 17 日
给个建议,这种言之无物的主题在这里是不受欢迎的
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
© 2026 V2EX · 34ms · 3.9.8.5