所以我得到的错误是没有给定 id 的资源:“workshop.timelines”\n这是您可以使用的所有注册资源的列表。
这是我试图在 adminbro 中可视化的资源
const LearnerSchema = new mongoose.Schema(
{
workshops: [
{
workshop: {
workshop_id: {
type: mongoose.Schema.Types.ObjectId,
ref: 'workshop',
},
code: {
type: String,
},
timeline: {
type: mongoose.Schema.Types.ObjectId,
ref: 'workshop.timelines',
},
},
],
{ timestamps: true }
);
这是车间模型:
const WorkshopSchema = new mongoose.Schema(
{
name: {
type: String,
required: true,
},
description: {
type: String,
},
timelines: [
{
group: {
type: Number,
},
city: {
type: mongoose.Schema.Types.ObjectId,
ref: 'city',
},
description: {
type: String,
},
venue: {
type: mongoose.Schema.Types.ObjectId,
ref: 'venue',
},
month: {
type: String,
},
start: {
type: Date,
},
end: {
type: Date,
},
registration_start: {
type: Date,
},
registration_end: {
type: Date,
},
registrations: {
type: Number,
default: 0,
},
registrations_cancelled: {
type: Number,
default: 0,
},
d_reg: {
type: Number,
default: 0,
},
classLink: {
type: String,
default: '',
},
status: {
type: String,
default: 'E',
},
resources: {
_id: false,
videoSessions: { type: Boolean, default: false },
},
},
],
status: {
type: String,
enum: ['NEW', 'F', 'DISABLED'], //f = FEATURED
default: 'NEW',
},
},
{ timestamps: true }
);
WorkshopSchema.index({ name: 'text', description: 'text' });
module.exports = Workshop = mongoose.model('workshop', WorkshopSchema);
现在,我在我的 adminbro 选项中添加了这两个资源,但是当 adminbro 尝试从集合中获取一些记录时,它失败并出现错误:
没有给定 ID 的资源:“workshop.timelines”\n这是您可以使用的所有已注册资源的列表。
可能影响此问题的另一件事是,在 MongoDB 中,workshop 对象中时间线的值是 ObjectId 和字符串的混合,但是我尝试将所有对象值转换为 ObjectId,但它仍然显示相同的错误。
非常感谢这里的任何帮助。