在聚合mongoose中使用$ populate

时间:2018-05-20 07:33:00

标签: javascript node.js mongodb mongoose

我不知道何时在架构中使用ref,但最近我开始使用它,因为它看起来很干净。以下是一个工作示例。

const UserSchema = new Schema({
  credit: {
    type: Schema.Types.ObjectId,
    ref: 'Credit'
  }
})

我会像这样使用填充

const response = await User.find({}).populate('Credit').exec()

但在我的其他情况下,我必须像其他控制器一样使用$lookup 以前的开发者已使用聚合

const response = await Job.aggregate([
    {
      $match: queryObj
    },
    {
      $lookup: lookupObj
    },
    {
      $lookup: {
        from: 'credit',
        localField: ??
        foreignField: ??
        as: 'credit'
      }
    }
  ])

正如你可以看到上面的代码,我不得不放弃这个额外的$ lookup

{
      $lookup: {
        from: 'credits',
        localField: ??, //no idea what this should be.
        foreignField: '_id'
        as: 'credits'
      }
    }

但它仍然无效。我有一个信用财产作为一个空数组。

0 个答案:

没有答案