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

Comprendere le relazioni e le chiavi esterne in Mongoose

Sono ancora nuovo di Node, Mongoose e Mongo, ma penso di poter rispondere almeno in parte alla tua domanda. :)

Il tuo metodo attuale è lo stesso che ho provato a fare all'inizio. Fondamentalmente, finisce per archiviarlo in modo molto simile a questo (scritto in JS, poiché non conosco CoffeeScript):

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

In seguito ho trovato questo metodo, che è quello che stavo cercando, e penso a quello che intendevi :

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

Questo memorizza una matrice di ObjectId, che puoi quindi caricare utilizzando Query#populate in Mangusta.

Non conosco le implicazioni tecniche, ma ha più senso nel mio cervello se le tengo separate, quindi è quello che sto facendo. :)

Modifica:ecco alcuni documenti ufficiali che potrebbero essere utili:http://mongoosejs.com/docs/ popola.html