javascript - 无法将值从一个模式获取到另一个模式
问题描述
我创建了一个有两个模型的订单模式;StudentConsessionSchema
和consessionSchema
StudentConsessionSchema
获取学生模型(学生模型包含学生的详细信息)。另一个模型consessionSchema
获取StudentConsessionSchema
(用于获取学生详细信息)。
当我在邮递员中对其进行测试以订购它时,它可以工作,但无法在consessionSchema
.
订单架构:
const mongoose = require("mongoose");
const { ObjectId } = mongoose.Schema;
const StudentConsessionSchema = new mongoose.Schema({
student: {
type: ObjectId,
ref: "Student", //ref to the student model from another file
},
FullName: {
type: String,
},
addmissionNumber: {
type: String,
required: true,
trim: true,
maxlength: 8,
},
faculty: {
type: ObjectId, //ref to the faculty model from another file
ref: "Faculty",
required: true,
},
});
const StudentConsession = mongoose.model(
"StudentConsession",
StudentConsessionSchema
);
const consessionSchema = new mongoose.Schema(
{
student: [StudentConsessionSchema], //this returns [] empty array
consession_id: {},
fromStation: {
type: String,
required: true,
},
toStation: {
type: String,
default: "Dadar",
},
passType: {
type: String,
enum: ["I", "II"],
required: true,
},
ticketPeriod: {
type: String,
enum: ["Monthly", "Quarterly"],
default: "Monthly",
required: true,
},
status: {
type: String,
default: "Pending",
enum: ["Pending", "Cancelled", "Accepted", "Printed"],
},
updated: Date,
},
{ timestamps: true }
);
const Consession = mongoose.model("Consession", consessionSchema);
module.exports = { StudentConsession, Consession };
创建订单控制器:
exports.createOrder = (req, res) => {
let form = new formidable.IncomingForm();
form.keepExtensions = true;
form.parse(req, (err, fields) => {
const {
admissionNumber,
fullName,
faculty,
fromStation,
toStation,
passType,
ticketPeriod,
} = fields;
if (
!admissionNumber ||
!fullName ||
!faculty ||
!fromStation ||
!toStation ||
!passType ||
!ticketPeriod
) {
return res.status(400).json({
error: "Please fill all fields",
});
}
let consession = new Consession(fields);
// const consession = new Consession(req.body.consession);
if (req.student.pass === 1) {
return res.status(400).json({
error:
"You are not eligible to make request Because You already have a pass",
});
}
consession.save((err, order) => {
if (err) {
console.log(err);
return res.status(400).json({
error: "Failed to make order",
});
}
res.json(order);
});
});
};
输出:
{
"toStation": "abc",
"ticketPeriod": "Monthly",
"status": "Pending",
"_id": "600e789887b9a201bc4c2d1a",
"fromStation": "xyz",
"passType": "II",
"student": [],
"createdAt": "2021-01-25T07:51:52.091Z",
"updatedAt": "2021-01-25T07:51:52.091Z",
"__v": 0
}
我的问题是为什么学生数组是空的?
解决方案
推荐阅读
- python - 通过 python tkinter 运行 shell 脚本
- asp.net-core - net core api newtonsoft.json 检测到类型为“Microsoft.Graph.GraphServiceClient”的属性“客户端”的自引用循环。路径“邀请”
- swift - 表未正确更新
- caching - [Guava 缓存]:确保对 expireAfterAccess/Write 的理解
- tensorflow - OP_REQUIRES 在 decode_wav_op.cc:55 失败:参数无效:只能读取 16 位 WAV 文件,但收到 32
- lda - 词干和词形还原 - 什么方法?
- python - 在 Pandas 中使用另一列作为索引填充一列的最大 n 值 - Python
- amazon-web-services - Amazon SQS 队列是否有指定的 IP 范围或子网?
- javascript - 用户未定义火力基地
- c++ - MacOS Big Sur M1 硅,R devtool monocle3 安装期间出现 cmath 错误