我正在嘗試創建我的 MongoDB Atlas 資料庫,但子檔案值沒有通過。我應該以某種方式遍歷它們嗎?找不到任何解決方案。謝謝
郵遞員要求:
{
"name" : "New Avengers",
"items": [
{"itemName": "Iron Man"},
{"itemName": "Thor"}
],
"tasks": [
{"taskName": "Call Avengers"},
{"taskName": "Watch out for Loki"}
]
}
資料庫記錄:
資料庫記錄 img
模型-> project.model.js
const { Schema, default: mongoose, mongo } = require('mongoose');
const itemsSchema = new Schema({
itemName: String,
mainItem: { type: Boolean, default: false }
})
const tasksSchema = new Schema({
taskName: String,
columnLabel1: String,
columnLabel2: String,
})
const projectSchema = new Schema({
name: {
type: String,
required: [true, 'Title is required!'],
unique: true
},
items: [itemsSchema],
tasks: [tasksSchema]
},{
timestamps: true
});
const Project = mongoose.model("Project", projectSchema);
module.exports = Project;
路線-> project.js
const router = require('express').Router();
let Project = require('../models/project.model');
// Create new Project
router.route('/add').post( async (req, res) => {
const newProject = new Project({
name: req.body.name,
items: [{itemName: req.body.itemName}],
tasks: [{taskName: req.body.taskName}]
});
try {
await newProject.save();
} catch(err) {
res.status(400).json(err);
}
});
module.exports = router;
uj5u.com熱心網友回復:
從請求物件中,沒有taskName和itemName欄位。newProject變數應該是:
const newProject = new Project({
name: req.body.name,
items: req.body.items,
tasks: req.body.tasks
});
其中items和tasks是從 接收到的陣列req.body。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/483611.html
上一篇:MongoDB-查詢集合的陣列包含輸入陣列中的所有元素
下一篇:如何從查詢中排除id陣列
