在架构上执行$ lookup时,它总是返回一个空数组。我究竟做错了什么?

结果收集

const resultSchema = new mongoose.Schema({
  trial: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Trial',
    required: true
  }
});




试用集

const trialSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true
  }
});




骨料

Result.aggregate([
    {
      $lookup: {
        from: 'trial',
        localField: 'trial',
        foreignField: '_id',
        as: 'x'
      }
    }
  ])
    .exec()
    .then(results => ({ results }))


最后,“ x”总是一个空数组。

最佳答案

好的,就在这里找到答案:https://stackoverflow.com/a/45481516/3415561

查找中的“来自”字段必须是您的集合名称,而不是模型名称。因此,它是一个复数词。
这是

from: 'trials'


代替

from: 'trial'

关于javascript - Mongo $ lookup返回空数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49348152/

10-09 15:27