2013-05-20 7 views
29

ihtiva eden nesnelerin dizisi ile doldurmak: AncakGelincik başka toplama için bir referans ve sayı iç içe geçmiş bir dizi oluşur nesnelerin bir dizi <code>lists</code> bir Gelincik şeması ref

var Schema, exports, mongoose, schema; 

mongoose = require("mongoose"); 

Schema = mongoose.Schema; 

schema = new Schema({ 
    name: { 
    type: String, 
    required: true, 
    unique: true, 
    trim: true 
    }, 
    lists: [ 
    { 
     list: { 
     type: Schema.ObjectId, 
     require: true, 
     ref: "List" 
     }, 
     allocations: [ 
     { 
      type: Number, 
      required: true 
     } 
     ] 
    } 
    ], 
    createdAt: { 
    type: Date, 
    "default": Date.now 
    }, 
    updatedAt: { 
    type: Date 
    } 
}); 

exports = module.exports = mongoose.model("Portfolio", schema); 

ben populate alamayan TypeError: Cannot read property 'ref' of undefined almadan beklendiği gibi çalışmak. populate('list') ve populate('lists list')'u denedim, ancak işleri doğru bir şekilde aramadım ya da Şema'm düzgün şekilde oluşturulmadığını.

lists: [ 
    { 
     type: Schema.ObjectId, 
     require: true, 
     ref: "List" 
    } 
    ] 

ama her liste yanında tahsisler dizisine sahip olmak istiyorum: Ben sadece kendileri tarafından listelerini referans eğer bu sorunu yok. İstediğim davranışı elde etmek için ne yapmam gerekiyor?

cevap

46

Yanıtı buldum: populate('lists.list') çalışır. Bu soruya şükür: Mongoose populate within an object?

+1

Merhaba arkadaşlar bu benim için çalışmıyorum her şeyi özlüyorum. Ben gerekli kullanımı yok. –