sql >> Database teknologi >  >> NoSQL >> MongoDB

Forstå relationer og fremmednøgler i Mongoose

Jeg er stadig ny i Node, Mongoose og Mongo, men jeg tror, ​​jeg kan besvare i det mindste en del af dit spørgsmål. :)

Din nuværende metode er den samme, som jeg prøvede i starten. Grundlæggende ender det med at gemme det meget på samme måde som dette (skrevet i JS, da jeg ikke kender CoffeeScript):

var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        name: String,
        desc: String,
        dueOn: Date,
        completedOn: Date
    }]
});

Jeg fandt senere denne metode, som jeg ledte efter, og jeg tror, ​​hvad du havde til hensigt:

var todoListSchema = new mongoose.Schema({
    name: String,
    todos: [{
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Todo' //Edit: I'd put the schema. Silly me.
    }]
});

Dette gemmer et array af ObjectId'er, som du derefter kan indlæse ved hjælp af Query#populate i Mongoose.

Jeg kender ikke til de tekniske implikationer, men det giver mere mening i min hjerne, hvis jeg holder dem adskilt, så det er det, jeg gør. :)

Rediger:Her er nogle officielle dokumenter, der kan være nyttige:http://mongoosejs.com/docs/ populate.html




  1. Mongoose udløber data, men beholder i databasen

  2. Hvordan bruger man $arrayElemAt og fjerner felter fra det element i MongoDB $projection?

  3. Underskemaer på Mongoose uden Arrays

  4. hvordan man opdager, om filen downloades med succes fra klientsiden i mean/angular js