Slutprojekt

Node.js/Express/MongoDB

Kommentarer till inlägg

Relationer i en databas

Detta koncept är centrala i relationsdatabaser och kallas relationsmodellen. Det är även användbart i NoSQL databaser.

Kommentar till inlägg

Lägga till schema och modellen för kommentarer

// Definerar vår schema för kommentarermodellen
const commentSchema = new mongoose.Schema({
    text: String,
    author: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "User"
        },
        username: String
    }
});

En skriven text och författare till varje kommentar

ID hämtas från den användare som skriver kommentaren till inlägget

Användarnamnet hämtas från den användare som skriver kommentaren till inlägget

Lägg till i schema för Posts (inlägg)

// Definerar vår postschema
const postSchema = new mongoose.Schema({
    title: String,
    image: String,
    body: String,
    author: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "User"
        },
        username: String
    },
    comments: [{
        type: mongoose.Schema.Types.ObjectId,
        ref: "Comment"
    }]
});

En  författare till varje inlägg

ID och användarnamn hämtas från den användare som skriver inlägget

Här kan vi lagra varje referens (ID) till kommentaren som skrivs till inlägget (som en array)

Routes för kommentarer

Sökväg HTTP metod Beskrivning
/posts/:id/comments/new GET Visa formulär för ny kommentar
/posts/:id/comments POST Skapa ny kommentar

För enkelhetens skull lägger vi denna i postRoutes.js

Databashantering gör kommentarer

  • Visa formulär för att skapa ny kommentar (views/comments/new.js)

  • Visa varje ny kommentar (views/posts/show.ejs)

Använda templates för kommentarer

Let's code!

Made with Slides.com