MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Дизайн на релационна база данни към дизайн на mongoDB/mongoose

Mongoose е проектиран по такъв начин, че можете да моделирате вашите таблици релационно с относителна лекота и да попълвате релационни данни въз основа на ref сте дефинирали в схемата. Проблемът е, че трябва да внимавате с попълването. Ако попълвате твърде много или влагате своите популации, ще се сблъскате с проблеми с производителността.

Вашият подход в Edit 1 до голяма степен е правилно, но обикновено не искате да попълвате отдалечен ref въз основа на Number или задайте _id на модел към Number тъй като mongo използва свой собствен механизъм за хеширане за управление на _id , това обикновено е ObjectId с _id подразбира се. Пример, както е показано по-долу:

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

Ако по някаква причина трябва да поддържате идентификатор на номер за вашите записи, помислете дали да го наречете uid или нещо, което няма да противоречи на вътрешностите на mongo / mongoose. Успех!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Aggregation:Преброяване на отделни полета

  2. Запазете TimeZone с дата в mongodb

  3. Импортирайте csv данни като масив в mongodb, като използвате mongoimport

  4. mongoose актуализиране на поле в MongoDB не работи

  5. Не може да се създаде прокси... Не може да се намери конструктор без параметри