新人小白求教

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

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

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

如果你最终发现你的数据结构是强关系模型,请换用关系型数据库。
maocat
2024-04-17 13:14:26 +08:00
bulkwrite
luozic
2024-04-17 13:18:56 +08:00
mongodb 有事务啊。
IvanLi127
2024-04-17 13:33:45 +08:00
要么改结构,要么接受非原子操作,要么上单机集群跑事物
SevenNight2020
2024-04-17 13:37:37 +08:00
感谢各位老哥哥的建议,我大致有方向了,非常感谢!
ashuai
2024-04-17 14:00:55 +08:00
给个建议,这种言之无物的主题在这里是不受欢迎的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1033168

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX