sql >> Database >  >> NoSQL >> MongoDB

Relaties en buitenlandse sleutels in mangoest begrijpen

Ik ben nog nieuw bij Node, Mongoose en Mongo, maar ik denk dat ik in ieder geval een deel van je vraag kan beantwoorden. :)

Uw huidige methode is dezelfde als die ik eerst probeerde. Kortom, het slaat het uiteindelijk op dezelfde manier op (geschreven in JS, omdat ik CoffeeScript niet ken):

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

Later vond ik deze methode, dat is wat ik zocht, en ik denk wat je van plan was:

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

Hierin wordt een array van ObjectIds opgeslagen, die u vervolgens kunt laden met Query#populate in mangoest.

Ik ken de technische implicaties niet, maar het is logischer in mijn brein als ik ze gescheiden houd, dus dat is wat ik doe. :)

Bewerken:hier zijn enkele officiële documenten die nuttig kunnen zijn:http://mongoosejs.com/docs/ populate.html




  1. MongoDB:Hoe een query uitvoeren op een json-tekenreeks?

  2. MongoDB Connection Pooling gebruiken op AWS Lambda

  3. Gebruik MongoEngine en PyMongo samen

  4. Diep kloondocument met ingesloten associaties