【问题标题】:Is correct to populate just a part of an object with mongoose?只用猫鼬填充对象的一部分是否正确?
【发布时间】:2013-01-30 00:38:52
【问题描述】:

我自己解释一下。

我们有类似的东西

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)

我不知道是我做错了什么还是无法填充。

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

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      您需要两个模式之间的引用。

      例如在您的 UserOfferSchema 中:

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

      【讨论】:

        猜你喜欢
        • 2013-01-13
        • 2014-11-25
        • 1970-01-01
        • 2014-07-28
        • 2014-07-24
        • 2018-06-15
        • 1970-01-01
        • 2021-09-27
        • 1970-01-01
        相关资源
        最近更新 更多