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

Разбиране на връзките и външните ключове в Mongoose

Все още съм нов в Node, Mongoose и Mongo, но мисля, че мога да отговоря поне на част от вашия въпрос. :)

Текущият ви метод е същият, както се опитах да направя в началото. По принцип в крайна сметка го съхранява много подобно на това (написано на JS, тъй като не знам CoffeeScript):

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

По-късно намерих този метод, който е това, което търсех, и мисля, че какво възнамерявате:

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

Това съхранява масив от ObjectIds, които след това можете да заредите с помощта на Query#populate в Mongoose.

Не знам за техническите последици, но за моя мозък има повече смисъл, ако ги държа отделно, така че това е, което правя. :)

Редактиране:Ето някои официални документи, които може да са полезни:http://mongoosejs.com/docs/ populate.html




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. windows:rails:грешка при инсталиране на bson_ext

  2. Как да намерите конкретни вложени обекти, без да знаете родителския ключ в mongodb

  3. Как мога да сортирам по $elemMatch в MongoDB?

  4. MongoDB - Създаване на колекция

  5. Как да управлявате шаблони за конфигурация за вашите бази данни с ClusterControl