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

2つのスキーマ間の参照が必要です。

たとえば、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 に答える