2012-05-04 6 views
0

(내 생각) 스키마 A의 DD 필드를 채울 수 있지만 오류를 생산해야하는 추적 코드몽구스 오류를 던지는 채울

var mongoose = require('mongoose'); 

mongoose.connect('mongodb://localhost/test'); 

var A = new mongoose.Schema({ 
     dd : [{type : mongoose.Schema.Objectid, ref : 'D'}] 
}); 

var D = new mongoose.Schema({ 
    a : String 
}); 




var a = mongoose.model('A', A); 
var d = mongoose.model('D', D); 

var md = new d(); 

md.save(function(err) { 
    if(err) console.log(err); 
    ma = new a({dd : md._id}); 

    ma.save(function(err) { 
     if(err) console.log(err); 
     var qry = a.find({}).populate('dd').run(function(err, docs) { 
      console.log(JSON.stringify(docs)); 
     }); 
    }); 

}); 

오류 :

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error: Schema hasn't been registered for model "undefined". 
Use mongoose.model(name, schema) 
    at Mongoose.model (/mongoose/lib/index.js:173:13) 
    at NativeConnection.model 

답변

2

Schema.Objectid가 Schema.ObjectId해야한다 :

var A = new mongoose.Schema({ 
     dd : [{type : mongoose.Schema.ObjectId, ref : 'D'}] 
}); 
관련 문제