Mongodb 在Mongoose中填充数组

Mongodb 在Mongoose中填充数组,mongodb,mongoose,Mongodb,Mongoose,我正在为培训课程构建一个搜索查询,该查询将返回课程的详细信息,填充教练(ObjectId)和参与者(ObjectId数组)的数据。我可以填充coach,但无法填充参与者。我的会话架构是: const mongoose = require('mongoose'); import { timestamp } from "./plugins/timestamp" import { User } from './index' const SessionSchema = new mongoose.Sch

我正在为
培训课程
构建一个搜索查询,该查询将返回课程的详细信息,填充
教练(ObjectId)
参与者(ObjectId数组)
的数据。我可以填充coach,但无法填充参与者。我的会话架构是:

const mongoose = require('mongoose');
import { timestamp } from "./plugins/timestamp"
import { User } from './index'

const SessionSchema = new mongoose.Schema({

  coach: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
  title: { type: String, required: true, default: "Lacrosse Training Session" },
  participants: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }]
});
SessionSchema.plugin(timestamp);

export const Session = mongoose.model('Session', SessionSchema);
我正试图用以下内容来填充:

const session = await Session.findById(req.params.id).populate('coach').populate('participants');
输出 当我只使用
populate('coach')
时,我得到如下结果:

coach: {address: {city: "Joes"}, name: "John John", …} <= <= <= POPULATED
participants: ["5ea43590f105a4188358210f", "5ea43590f105a4188358210e", "5ea43590f105a41883582115"]

coach:{地址:{城市:“Joes”},姓名:“John John”,…}您可以使用以下选项之一:

一,-

二,-


另外,请确保这些参与者ID已存在于用户集合中

您可以使用以下之一:

一,-

二,-


还要确保这些参与者id已经存在于用户集合中

我没有具有相同id的用户对象。用作输入的数据将id字段命名为“id”而不是“_id”。因此,您上次的评论保存了当天的内容。谢谢“还要确保这些参与者id已经存在于用户集合中”我没有具有相同id的用户对象。用作输入的数据将id字段命名为“id”而不是“_id”。因此,您上次的评论保存了当天。谢谢“还要确保这些参与者ID已经存在于用户集合中”
const session = await Session.findById(req.params.id).populate([{ path: 'coach' }, { path: 'participants' }])
const session = await Session.findById(req.params.id).populate({ path: 'coach' }).populate({ path: 'participants' });