簡體   English   中英

將 Mongoose 嵌套架構發布到 MongoDB

[英]Posting a Mongoose Nested Schema to MongoDB

我需要將嵌套模式發布到我的 MongoDB。 我的 mongoose 架構如下所示:

const projectSchema = new mongoose.Schema({
  title: String,
  code: String,
  leader: String,
  member1: {
    no: Number,
    name: String,
    desc: String,
    target: Number,
  },
  member2: {
    no: Number,
    name: String,
    desc: String,
    target: Number,
  }
}
const Project = mongoose.model("Project", projectSchema);

我想用這個向 mongoDB 發出 POST 請求:

app.post("/api/postproject", (req, res) => {
  const project = new Project({
    title: req.body.title,
    code: req.body.code,
    leader: req.body.leader,
    member1: {
      no: req.body.member1.no,
      name: req.body.member1.name,
      desc: req.body.member1.desc,
      target: req.body.member1.target
    },
    member2: {
      no: req.body.member2.no,
      name: req.body.member2.name,
      desc: req.body.member2.desc,
      target: req.body.member2.target
    }
  })
})

有人在這里發現錯誤嗎? 我試過了,但嵌套的 object 沒有成功。

您可以嘗試先在本地創建一個成員,然后將其作為整個 object 傳遞:

app.post("/api/postproject", (req, res) => {
  let member1 = {
    no: req.body.member1.no,
    name: req.body.member1.name,
    desc: req.body.member1.desc,
    target: req.body.member1.target
  }
  let member2 = {
    no: req.body.member2.no,
    name: req.body.member2.name,
    desc: req.body.member2.desc,
    target: req.body.member2.target
  }
  const project = new Project({
    title: req.body.title,
    code: req.body.code,
    leader: req.body.leader,
    member1: member1,
    member2: member2
  })
})

或者,您可以在發出請求之前在前端創建這樣的 object,然后立即使用req.body.member1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM