简体   繁体   English

Node.js错误模式数组路径的无效值

[英]Node.js error invalid value for schema Array path

I can't figure out what is wrong with this code: 我不知道这段代码出了什么问题:

act.js act.js

import mongoose from 'mongoose';
var Schema   = mongoose.Schema;

var ActSchema = mongoose.Schema(
  {
    name: { type: String },
    runs: [{ type: Schema.Types.ObjectId, ref: 'Run' }],
  }
)

export default mongoose.model('Act', ActSchema);

scheduleRun.js scheduleRun.js

import mongoose from 'mongoose';
import Act from './act'

var ScheduleRunSchema = mongoose.Schema(
  {
    act: [Act.ActSchema]
  }
)

export default mongoose.model('ScheduleRun', ScheduleRunSchema);

It gives the following error: 它给出以下错误:

TypeError: Invalid value for schema Array path act TypeError:架构数组路径act无效值

You are exporting a Mongoose model but trying to use the schema. 您正在导出Mongoose模型,但尝试使用该架构。

If the model has already been registered then you can get the schema like this: 如果已经注册了模型,则可以获取如下模式:

var ActSchema = mongoose.model('Act').schema

Or you can try exporting your schema as a named export from act.js : 或者,您可以尝试从act.js将模式导出为命名导出:

...

export var ActSchema = mongoose.Schema(
  {
    name: { type: String },
    runs: [{ type: Schema.Types.ObjectId, ref: 'Run' }],
  }
)

...

...and then import the schema to scheduleRun.js : ...然后将架构导入scheduleRun.js

...

import { ActSchema } from './act'

var ScheduleRunSchema = mongoose.Schema(
  {
    act: [ActSchema]
  }
)

...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM