sql >> Databáze >  >> NoSQL >> MongoDB

Návrh relační databáze k návrhu mongoDB/mongoose

Mongoose je navržen tak, abyste mohli své tabulky relačně modelovat relativně snadno a naplňovat relační data na základě ref které jste definovali ve schématu. Problém je v tom, že musíte být opatrní s osídlením. Pokud zalidníte příliš mnoho nebo vnoříte své populace, narazíte na problémy s výkonem.

Váš přístup v Edit 1 je z velké části správný, ale obvykle nechcete naplnit vzdálený ref na základě Number nebo nastavte _id modelu na Number protože mongo používá svůj vlastní hashovací mechanismus pro správu _id , obvykle to bude ObjectId s _id implicitní. Příklad uvedený níže:

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

Pokud z nějakého důvodu potřebujete zachovat číslo id pro vaše záznamy, zvažte jeho volání uid nebo něco, co nebude v rozporu s vnitřními prvky mongo / mongoose. Hodně štěstí!



  1. Jak provést převzetí služeb při selhání do nového hlavního uzlu při použití Redis s Sentinel a redis-py?

  2. Agregace Golang mongodb

  3. MongoDB findOne()

  4. Převeďte datum ISO do formátu rrrr-mm-dd