正在使用 MERN 堆疊開發票務系統模塊。我想在創建票證時創建一個名為“message”的陣列。
當用戶單擊“創建票證”按鈕時,我們將在 MongoDB 中存盤一些資料,例如訂單 ID、服務、付款、交易 ID、主題以及用戶訊息(用戶可以簡要地寫下該問題)。存盤后,管理員可以回復該訊息,因此我們需要將論文創建在一個檔案中。
我可以存盤其他欄位,如訂單 ID、服務名稱、主題,但我不知道如何創建用于存盤訊息的陣列。
請幫我。
這是我的票證模式:
const mongoose = require('mongoose');
const User = require('./userScheema');
const TicketScheema=new mongoose.Schema({
subject:{
type:String
},
request:{
type:String
},
orderID:{
type:Number
},
descs:[
{
desc:
{
type:Array,
required:true
}
}
],
name:{
type:String
},
role:{
type:String
},
payment:{
type:String
},
transactionID:{
type:Number
},
status:{
type:String,
default:"Not Answered"
},
date:{
type:Date,
default:Date.now
},
user:{
type:mongoose.Schema.Types.ObjectId,
ref:User,
required:true
}
})
const Ticket=mongoose.model("Ticket",TicketScheema);
module.exports=Ticket;
快速路由器:
router.post("/submitTicket",authenticateUser,async(req,res)=>{
try {
let user=req.root_user[0]._id.toString();
let role=req.root_user[0].role.toString();
let name=req.root_user[0].name.toString();
let {subject,request,orderID,desc,payment,transactionID}=req.body;
let resp=await new Ticket({
subject,
request,
orderID,
desc, //here desc is the user message, want to store it as array
payment,
transactionID,
user,
role,
name
})
resp.save();
res.status(201).send(resp)
} catch (error) {
res.status(400).send("Unable to create Ticket")
}
})
前端:
const createTicket =async()=>{
let resp=await fetch('/submitTicket',{
method:"POST",
headers:{
"Content-Type":"application/json"
},
body:JSON.stringify({
subject,request,orderID,desc:Desc,payment:payment1,transactionID:TransactionID
})
})
if(resp.status==201)
{
alert("Ticket Created")
}
}
我是 MERN 的新手,請幫助我
uj5u.com熱心網友回復:
您應該將該descs屬性宣告為:
descs:[
{
type:String,
required:true
}
],
然后向該欄位添加一個新屬性:
let resp = new Ticket({
subject,
request,
orderID,
payment,
transactionID,
user,
role,
name,
});
resp.descs.push(desc)
await resp.save()
res.status(201).sendresp)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/350149.html
