я всегда использую mysql, но меня интересует mongodb, но я не знаю, как перенести мой db ex:
ученик
------------ ----------
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, или я не должен изменять структуру и использовать другой способ запроса?
Вероятно, вы должны изменить структуру MySQL при миграции на MongoDB.
Измененная структура, о которой вы упомянули выше, достаточно хороша.
Вероятно, вы также можете включить class_name в документ студента вместе с class_id в take_class, чтобы избежать вызова другого документа для поиска class_name.
Если вы не измените структуру, использование MongoDB не будет иметь никакого смысла, поскольку оно будет вести себя как реляционная БД.
Помните, что документы могут быть вложены в MongoDB или любую базу данных NoSQL и использовать их для нашего удобства. Это одно из самых больших преимуществ использования MongoDB над MySQL.