Domanda

tl; dr È il mio schema va bene?

La mia risoluzione per quest'anno è quello di imparare qualcosa di nuovo, e ho scelto di imparare qualcosa sui database non-REL, vale a dire Mongo. Attualmente sto lavorando su una semplice applicazione che utilizzi Mongo come il motore di database.

L'applicazione su cui sto lavorando è una semplice applicazione questionario: admin crea domanda, (login) utente risponde loro. Quindi: l'utente ha molti risposta all'interrogazione appartiene. Quale sarebbe il più schema appropriato per una tale app? Ho creato il successivo schema di me (pseudo), ma mi chiedo se avete qualche suggerimento / suggerimenti soluzione di questo.

users [
    {
        # some required fields to authenticate the user
        email: j.doe@example.com,
        password: ...
        etc.

        # next fields are this users answers to a question
        # the key is the question's id, it's value the answer
        1: 'John',
        2: 'Doe',
    },
]

questions [
    { # no 1 (I know id's in mongo aren't numbered this way,
      # this is just for the sake of readability.
        question: What is your first name?,
        type: open,
        required: true,
    },
    { # no 2
        question: What is your last name?,
        type: open,
        required: false,
    },
    # and so on.
]
È stato utile?

Soluzione

mi piacerebbe spostare risposte all'interno di raccolta domande:

{_id: 1, 
 question: "?", 
 type: "open", 
 required: true, 
 answered: [
   {email: "j.doe@example.com", answer: "John"},
   {email: "bob@example.com", answer: "Bob"},
 ]
}

Anche utilizzando campi dinamici (come ID risposta) vi renderà impossibile indicizzarli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top