如何通过 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?的主要内容,如果未能解决你的问题,请参考以下文章

通过 mongoose 将项目插入 mongo 数组

如何将子文档插入 mongo 集合?

如何将子文档插入 mongo 集合?

如何将一个对象插入到mongo数组中的另一个对象中

以反应方式将嵌套记录插入到 mongo

Mongo在Meteor Server上插入后如何等待观察者调用