заполнение мангуста возвращает пустой массив без причины - PullRequest
0 голосов
/ 26 февраля 2019

Это смешно.Я пролил документы и все остальные ответы здесь, и нет никаких причин, почему это не должно работать.

Модель:

import mongoose, { Schema } from 'mongoose';

const DriverSchema = new Schema({
  name: String,
  trips: [{ type: Schema.Types.ObjectId, ref: 'Trip' }],
});

export default mongoose.model('Driver', DriverSchema);
import mongoose, { Schema } from 'mongoose';

const TripSchema = new Schema({
  startTime: Date,
  endTime: Date,
  miles: Number,
  driver: {
    type: Schema.Types.ObjectId,
    ref: 'Driver',
  },
});

export default mongoose.model('Trip', TripSchema);

Контроллер:

export const getDriver = async (req, res) => {
  const { id } = req.params;
  try {
    const driver = await Driver.findById(id)
      .populate('trips')
      .exec();

    return res.json({
      driver,
      success: true,
    });
  } catch (error) {
    return res.json({ success: false, error });
  }
};

Получение пустого массива, даже если я сделаю это:

export const getDriver = async (req, res) => {
  const { id } = req.params;
  try {
    const driver = await Driver.findById(id);
    const { _id, name } = driver;
    const trips = await Trip.find({ driver: _id });
    return res.json({
      success: true,
      name,
      trips,
    });
  } catch (error) {
    return res.json({ success: false, error });
  }
};

Все данные возвращаются

Что не так с этой тупой функцией заполнения?

...