sql >> Database >  >> NoSQL >> MongoDB

Relationeel database-ontwerp naar mongoDB/mongoose-ontwerp

Mongoose is zo ontworpen dat u uw tabellen relatief gemakkelijk relationeel kunt modelleren en relationele gegevens kunt vullen op basis van de ref die u in het schema hebt gedefinieerd. De gotcha is dat je voorzichtig moet zijn met bevolken. Als je te veel bevolkt of je populaties nest, loop je tegen prestatieknelpunten aan.

Uw aanpak in Edit 1 is grotendeels correct, maar u wilt meestal geen externe ref . invullen gebaseerd op een Number of stel de _id . in van een model naar een Number aangezien mongo zijn eigen hashing-mechanisme gebruikt voor het beheren van de _id , is dit meestal een ObjectId met _id geïmpliceerd. Voorbeeld zoals hieronder weergegeven:

var ScoreSchema = new mongoose.Schema({
    user : { type: Schema.Types.ObjectId, ref: 'User' },
    game : { type: Schema.Types.ObjectId, ref: 'Game' },
    score: Number
});

Als je om wat voor reden dan ook een nummer-ID voor je administratie moet behouden, overweeg dan om het uid te noemen of iets dat niet in strijd is met mongo / mangoest internals. Veel succes!



  1. MongoDB tekst zoeken en bestellen op

  2. Mongoose-indexering in productiecode

  3. Json-bestand invoegen in mongodb

  4. Integratie van mongodb met elasticsearch in node.js-omgeving