mongoose 如何在单击时切换mongodb字段值

yrefmtwq  于 2023-01-31  发布在  Go
关注(0)|答案(1)|浏览(133)

我正在进行一个电子商务项目。管理员希望更改用户状态,点击我尝试了一种方法来更新用户的状态

<td id="status" onclick="changeStatus('<%=user._id%>' , '<%=user.status%>')"></td> 

   async function changeStatus(id , status){
         try{
           const res = await fetch("/admin/customers" , {
               method:"POST",
               body:JSON.stringify({id , status}),
               headers:{"Content-Type":"application/json"}
           })
           const data = await res.json()

           if(data.message.includes("success")){
               location.reload()
           }
         }
         catch(err){
           console.log(err)
         }
       }

and in my serverside  i tried update my status 
customer_status: async (req , res) => {
   let {id, status} = req.body
   try{
     const updateStatus = await User.findByIdAndUpdate({_id:id} , {$set:{status:!status}} , {new:true})
     console.log(updateStatus)
     res.json({message:"success"})
   }
   catch(err){
     console.log(err)
   }
   
   
 },

这是第一次为用户工作,任何人都可以解释为什么它没有更新simontionously

5lwkijsr

5lwkijsr1#

我们应该使用$not聚合来切换布尔值:

User.findByIdAndUpdate({ _id: id}, { $set: { status: { $not: "$status" }}}, { new: true })

相关问题