【发布时间】:2019-10-07 13:59:35
【问题描述】:
我想要这样的邮递员结果
[{
title:
year:
rating:
authors: [{
name:
birthday:
country:
}]
}]
我想要两位或更多作者,但我只有一位作者
model/book.js
const mongoose = require('mongoose');
const authorSchema = require('../models/author');
const bookSchema = new mongoose.Schema({
title:{
type:String,
required:true,
min: 5,
max: 50
},
rating:{
type: Number,
required: true,
min:0,
max:10
},
authors: {
type: authorSchema,
required: true
},
});
const Book= new mongoose.model('Book', bookSchema);
route/book.js
router.get('/', async(req, res)=>{
const books= await Book
.find({}, { _id:0, __v:0 })
res.send(books);
});
router.post('/', async(req, res)=>{
const author = await Author.findById (req.body.authorId);
if(!author) return res.status(400).send('Invalid Author');
let book= new Book({
title: req.body.title,
rating: req.body.rating,
authors:[{
name: author.name,
birthday: author.birthday,
country: author.country
}]
});
book= await book.save();
res.send(book)
});
module.exports =router;
我在邮递员中通过 POST 方法输入这个
{
"title": "学习 Python",
“评分”:“9”,
“作者ID”:[“5d99ac95f17917117068631b”,
"5d99ad75c4edd61f98af740b"]
}
然后我得到只有第一作者,作者数组不显示
【问题讨论】:
-
“authorSchema”是什么样的?
-
const authorSchema= new mongoose.Schema({ name:{ type: String, required: true, min: 5, max:50 },birthday:{ type: String, required: true }, 国家:{ 类型:字符串,必需:true } }); const Author = new mongoose.model('Author', authorSchema);
标签: node.js express mongoose model mongoose-schema