如何通过 POST-API 将数据插入 MongoDB DB?
Posted
技术标签:
【中文标题】如何通过 POST-API 将数据插入 MongoDB DB?【英文标题】:How Can I insert Data into MongoDB DB Through An POST-API? 【发布时间】:2021-09-02 05:07:48 【问题描述】:我想通过用户名搜索用户并将电影和评论(他们在电影字段中)插入到文档中。
我的架构结构是这样的: const usersschema=new mongoose.Schema(
name:
type:String,
minlength:3
,
username:
type:String,
minlength:3
,
password:
type:String,
,
token:
type:String
,
movies:[
movie:
type:String
,
review:
type:String
,
rating:
type:String
],
invites:[
type:String,
],
favourites:[
movie_name:
type:String
]
)
到目前为止我做了什么: app.post("/review", async(req,res)=>
constmovie, review, username=req.body;
if(!movie || !review || !username) //check if details entered or not
return res.json(error:"Enter all details");
try
const userexist = await signup.findOne(username:username); //searching user by username
if(userexist)
const result = await signup.findOneAndUpdate(username:username,
$set:
movie:req.body.movie,
review: req.body.review
,
new: true
);
const resu=await result.save();
res.status(201).send(resu);
catch(e)
console.log(e);
res.status(400).send(e);
)
请帮助我在不更改现有架构的情况下将电影和评论插入数据库(插入电影字段)。
【问题讨论】:
你可以把username:username
写成username
,见MDN for details
【参考方案1】:
你可以做这样的事情。创建一个更新用户的函数。然后如果用户存在,即如果有结果,则将其推送到电影数组中。
let updateUser =>
if(result)
UserModel.findByIdAndUpdate(
_id: req.body.id
,
$push:
movies:
movie: req.body.movies
review: req.body.review
【讨论】:
感谢您的回答。但是,我想使用用户名而不是 _id 来更新数据。以上是关于如何通过 POST-API 将数据插入 MongoDB DB?的主要内容,如果未能解决你的问题,请参考以下文章