【问题标题】:How Can I insert Data into MongoDB DB Through An POST-API?如何通过 POST-API 将数据插入 MongoDB DB?
【发布时间】: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)=>{

const{movie, 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);
}

})

请帮助我在不更改现有架构的情况下将电影和评论插入数据库(插入电影字段)。

【问题讨论】:

标签: node.js mongodb mongoose mongodb-query rest


【解决方案1】:

你可以做这样的事情。创建一个更新用户的函数。然后如果用户存在,即如果有结果,则将其推送到电影数组中。

    let updateUser => {
        if(result) {
        UserModel.findByIdAndUpdate({
            _id: req.body.id
        },
    {
            $push: {
                movies: {
                    movie: req.body.movies
                    review: req.body.review
                }
            }
    }

【讨论】:

  • 感谢您的回答。但是,我想使用用户名而不是 _id 来更新数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 2019-11-24
  • 2016-06-16
  • 2019-09-28
相关资源
最近更新 更多