gpt4 book ai didi

mysql - 从 mysql 转换为 mongodb 后我应该改变表的结构吗

转载 作者:行者123 更新时间:2023-11-29 10:05:39 25 4
gpt4 key购买 nike

我一直使用mysql,但我对mongodb感兴趣,但我不知道如何转移我的数据库例如:

学生

------------        ----------     
name student_id
------------ ----------
james 1
jim 2


class
------------ ----------
class_name class_id
------------ ----------
math 1
science 2
computer 3


takeclass
------------ ----------
student_id class_id
------------ ----------
1 1
1 2
2 1
2 3

当我想要 jim 采用的类名时,我使用 sql

select c.class_name 
from student s, class c,takeclass t
where s.name='jim' and s.student_id=t.student_id and t.class_id =c.class_id

我应该在 mongodb 中更改它吗

------------        ----------     ----------
student_fname student_id takeclass
------------ ---------- ----------
james 1 1,2
jim 2 1,3


class
------------ ----------
class_name class_id
------------ ----------
math 1
science 2
computer 3

let student=mongoclient.collection('student').findOne({student_fname:"jim"})
let classname=mongoclient.collection('class').find({class_id:{$in:student.class_id.split(',')}})

我不知道这是使用 mongodb 的最佳方式还是我不应该更改结构并使用其他方式进行查询?

最佳答案

在迁移到 MongoDB 时,您可能应该更改 MySQL 结构。
你上面提到的改变的结构已经足够好了。

您可能还可以在学生文档中包含 class_name 以及 take_class 中的 class_id,以避免调用另一个文档来搜索 class_name

如果不更改结构,使用 MongoDB 将没有任何意义,因为它的行为就像关系数据库。
请记住,文档可以嵌套在 MongoDB 或任何 NoSQL DB 中,并方便地使用它。这是使用 MongoDB 相对于 MySQL 的最大优势之一。

关于mysql - 从 mysql 转换为 mongodb 后我应该改变表的结构吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51961291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com