MongoDB没有';t插入嵌套文档

MongoDB没有';t插入嵌套文档,mongodb,express,mongoose,nested,Mongodb,Express,Mongoose,Nested,所以我尝试在这里插入一个嵌套文档。books包含多本书,但不插入标题,只插入自动生成的\u id 以下是我插入数据的代码: "firstName": "Jay Rhick", "lastName": "Villareal", "country": "Philippines", "citizenship": "Filipino", &quo

所以我尝试在这里插入一个嵌套文档。books包含多本书,但不插入标题,只插入自动生成的\u id

以下是我插入数据的代码:

"firstName": "Jay Rhick",
"lastName": "Villareal",
"country": "Philippines",
"citizenship": "Filipino",
"books": [{
    "book": "Harry Pota"
}]
以下是输出:

{
"_id": "6053fc2f33325b35305ee764",
"firstName": "Jay Rhick",
"lastName": "Villareal",
"country": "Philippines",
"citizenship": "Filipino",
"books": [
    {
        "_id": "6053fc2f33325b35305ee765"
    }
],
"__v": 0
以下是我的模式:

const mongoose = require('mongoose')
const BookSchema = require('./BookSchema').schema

const PostSchema = mongoose.Schema({
    firstName: String,
    lastName: String,
    citizenship: String,
    country: String,
    books: [BookSchema]
})

module.exports = mongoose.model('PostSchema', PostSchema)
这是我的书

const mongoose = require('mongoose')

const BookSchema = mongoose.Schema({
     book: String
})

module.exports = mongoose.model('BookSchema', BookSchema)
这是我的快车路线

const express = require('express')
const router = express.Router()
const Post = require('../models/Post')

router.post('/', async (req, res) => {
    const post = new Post({
        firstName: req.body.firstName,
        lastName: req.body.lastName,
        country: req.body.country,
        citizenship: req.body.citizenship,
        books: [{
            book: req.body.book
        }]
    })
    try{
        const savedPost = await post.save()
        res.json(savedPost)
    }catch(err){
        res.json({ message: err })
    }
})

module.exports = router

因为它是一个嵌套的模式,所以它可能不会返回整个对象,只返回_id。你能在你的收藏中看到带有标题的书吗?如果它在集合中,则需要查看mongoose中的.populate()函数

这里有一个类似的问题:
多亏了asg86260,我解决了我的问题!因此,我已将代码更改为:

书籍:[{
书:req.body.book
}]

books:req.body.books

如何使用populate?我正在使用Postman从服务器插入和获取数据您是否有此集合的GET端点?或者你只是在看帖子中返回的对象?我试图插入一个书名,但似乎不起作用,它只显示了上面显示的_id,我还检查了atlas mongodb的数据库,同样的输出,它没有插入一本书,只是自动生成的id谢谢!你给了我解决这个问题的主意!谢谢你UUI将发布答案:)如果你的问题似乎得到了回答,请不要忘记更新它,并将其标记为已解决。