MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comprendre les relations et les clés étrangères dans Mongoose

Je suis encore nouveau sur Node, Mongoose et Mongo, mais je pense pouvoir répondre au moins en partie à votre question. :)

Votre méthode actuelle est la même que celle que j'ai essayé de faire au début. Fondamentalement, il finit par le stocker de manière très similaire à ceci (écrit en JS, puisque je ne connais pas CoffeeScript) :

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

J'ai trouvé plus tard cette méthode, qui est ce que je cherchais, et je pense que ce que vous vouliez :

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

Cela stocke un tableau d'ObjectIds, que vous pouvez ensuite charger en utilisant Query#populate dans Mangouste.

Je ne connais pas les implications techniques, mais cela a plus de sens dans mon cerveau si je les garde séparés, c'est donc ce que je fais. :)

Edit :Voici quelques documents officiels qui pourraient être utiles :http://mongoosejs.com/docs/ peupler.html