0

我会自己解释。

我们有类似的东西

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)

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

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

4

2 回答 2

0

您需要两个模式之间的参考。

例如在您的 UserOfferSchema 中:

user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }
于 2013-01-29T16:38:52.353 回答
0

对于那些来到这里的人,我找到了解决方案:)

https://github.com/LearnBoost/mongoose/blob/7ae5a82352f5239316ceba49fabd5f8337cc30cd/test/model.ref.test.js#L513-549

于 2013-01-29T16:31:56.093 回答