使用mongoose填充对象的一部分是正确的吗?

时间:2013-01-29 16:11:52

标签: node.js mongodb mongoose

我会解释自己。

我们有像

这样的东西
var UserSchema = new Schema({
  issuedOffers: [ UserOfferSchema ]
});

var UserOfferSchema = new Schema({
  offer: { type: ObjectId, ref: 'Offer' },
  issuedAt: Date,
  validatedAt: Date,
  status: Number
});

尝试填充此查询时

User
    .find({})
    .populate('issuedOffers')
    .exec(function(err, users) {
        console.log(users);
        test.equal(10,10);
        test.done();
    });

我收到此错误

 MissingSchemaError: Schema hasn't been registered for model "undefined".
 Use mongoose.model(name, schema)

我不知道我做错了什么,或者只是无法填充。

是的,他们都已经注册了。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您需要在2个架构之间引用。

e.g。在您的UserOfferSchema中:

user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }