gpt4 book ai didi

node.js - 如何将数据插入到相关的 Mongoose 模式中?

转载 作者:太空宇宙 更新时间:2023-11-04 02:01:58 26 4
gpt4 key购买 nike

我正在尝试在nodejs中创建一个api端点以在mongodb中插入数据。我有两个相互关联的 Mongoose 模式,这就是为什么我将这两个模式关联起来,如下所示:

帖子架构:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const PostSchema = mongoose.Schema({
title: { type: String, trim: true, required: true},
description: { type:String, required: true },
created_at: { type: Date, default: Date.now },
author: {type: Schema.ObjectId, ref: 'Author', required: true},
});

const Post = module.exports = mongoose.model('Post', PostSchema);

作者架构:

const mongoose = require('mongoose');

const AuthorSchema = mongoose.Schema({
fullname: { type: String, trim: true, required: true},
address: { type: String, required: true },
phone: { type: Number, required: true },
email: { type: String, required: true },
created_at: { type: Date, default: Date.now }
});

const Author = module.exports = mongoose.model('Author', AuthorSchema);

现在我可以轻松地插入作者架构的数据

作者.js:

router.post('/', (req, res, next) => {
let newAuthor = new Authors({
fullname: req.body.fullname,
address: req.body.address,
phone: req.body.phone,
email: req.body.email
});

newAuthor.save((err, user) => {
if(err) {
res.json({
success: false,
msg: "Failed to add author"
});
} else {
res.json({
success: true,
msg: "Author added successfully"
});
}
});
});

但是对于帖子我被困在这里

posts.js:

router.post('/', (req, res) => {
var newPost = new Posts({
title: req.body.title,
description: req.body.description,
author:
})
})

主要问题是如何获取作者?

最佳答案

您可以在作者字段中设置作者 ID。

// you can set authorId in req.body and use that
router.post('/', (req, res) => {
var newPost = new Posts({
title: req.body.title,
description: req.body.description,
author: req.body.authorId
})
});

或者您可以在路由路径中设置作者 ID 并使用 req.params.authorId

// for that route from ui call should be like 
// var userId = 4654654545454
// $http.post('/'+userId)....

router.post('/:authorId', (req, res) => {
var newPost = new Posts({
title: req.body.title,
description: req.body.description,
author: req.params.authorId
})
});

关于node.js - 如何将数据插入到相关的 Mongoose 模式中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45658506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com