recherche

Maison  >  Questions et réponses  >  le corps du texte

MongoDB 多对多的关系应该怎样描述?

比如下面这种学生选课的模型,既要知道学生选了哪些课,又要知道课被哪些学生选了。传统的 SQL 就是下面这写法了,如果换成 key-value 的,该怎么描述呢?

Student:
    Id
    Name

Course:
    Id
    Name

Relation:
    Student_Id
    Course_Id
阿神阿神2837 Il y a quelques jours713

répondre à tous(3)je répondrai

  • 高洛峰

    高洛峰2017-04-24 09:13:26

    Il peut être conçu comme ceci. Chaque document de la collection stocke les données de sélection de cours d'un étudiant :

    // students
    {
        _id: ObjectId('4e7020cb7cac81af7136236b'),
        name: "...",
        choose_lesson: [
            {_id:ObjectId('4e7020cb7cac81af71362361'),
             lesson_name: "..."
            },
            {_id:ObjectId('4e7020cb7cac81af71362362'),
             lesson_name: "..."
            }
        ]
    }
    

    Quels cours les étudiants ont-ils choisis ?

    db.students.find(
        {_id: ObjectId('4e7020cb7cac81af7136236b')},
        {choose_lesson: 1}
    )
    

    Quelles sont les options proposées aux étudiants pour un cours ?

    db.students.find(
        {choose_lesson: {$elemMatch: {lesson_name: "..."}}},
        {name: 1}
    )
    

    En référence à mongodb, comment concevoir la fonction utilisateur de manière plus raisonnable ?

    répondre
    0
  • 阿神

    阿神2017-04-24 09:13:26

    Dans ce métier, je pense que c’est pareil.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-04-24 09:13:26

    Enregistrez l'identifiant de l'étudiant et l'identifiant du cours directement dans la relation, ou utilisez DBRefs. Personnellement, je pense que le premier est bien. Veuillez vous référer à : http://docs.mongodb.org/manual/reference/database-references/.

    répondre
    0
  • Annulerrépondre