web-dev-qa-db-fra.com

MongoDB: Comment représenter un diagramme de schéma dans une thèse?

J'écris actuellement une thèse et je dois afficher le schéma de mon MongoDB dans un diagramme. Je n'ai trouvé aucune ressource sur les diagrammes pour les bases de données basées sur des documents.

Il existe des diagrammes de relation d'entité (ERD) pour des bases de données relationnelles. Quelles options ai-je pour MongoDB? J'ai remarqué que beaucoup de blogs affichent simplement le Json brut comme leur "diagramme", mais ce n'est pas réalisable dans ma thèse.

Voici un échantillon de l'une de mes structures JSON:

//MultiChoiceQuestion
{
    "title": "How are you?",
    "valid_answers" : [
        {
            "_id" : ObjectID(xxxx),
            "title": "Great",
            "isCorrect": true,
        },
        {
            "_id" : ObjectID(yyyy),
            "title": "OK",
            "isCorrect": false,
        },
        {
            "_id" : ObjectID(zzzz),
            "title": "Bad",
            "isCorrect": false,
        }
    ],
    "user_responses" : [
        {
            "user": ObjectID(aaaa),
            "answer": ObjectID(xxxx)
        },
        {
            "user": ObjectID(bbbb),
            "answer": ObjectID(xxxx)
        },
        {
            "user": ObjectID(cccc),
            "answer": ObjectID(yyyy)
        }
    ]
}

//User
{
    "_id": ObjectID(aaaa),
    "name": "Person A"
}
//User
{
    "_id": ObjectID(bbbb),
    "name": "Person B"
}
//User
{
    "_id": ObjectID(cccc),
    "name": "Person C"
}

Pourrait-il être un diagramme possible: Possible Diagram?

31
Andrew

Il y a un outil qui fait des diagrammes pour MongoDB, est appelé dbschema . Il découvre le schéma en numérisant les données de DB. Je suggérerais également d'essayer deux fonctionnalités d'eux:

  • relations virtuelles qui permettent d'explorer les données de différentes collections dans le même temps. Une sorte de joindre entre différentes collections.
  • Documentation HTML, nous l'utilisons dans des présentations également - les commentaires sont en souris-over (diams sont enregistrés comme des images vectorielles).
1
dprutean