我正在使用表中的复选框处理选定的用户id,但当我向服务器发送请求将其全部删除时,我不知道如何使用mongoose处理节点。有人能帮助我吗?下面是FE代码:
const Home =()=> {
const [isChecked, setisChecked] = useState([]);
const handleDeleteUser = async () => {
const response = await fetch(`http://localhost:3001/users/deleteUsers`, {
method: "DELETE",
body: JSON.stringify(isChecked),
headers: {
"Content-Type": "application/json",
},
});
};
const handlecheckbox = (e) => {
const { value, checked } = e.target;
console.log(value);
if (checked) {
setisChecked([...isChecked, value]);
} else {
setisChecked(isChecked.filter((e) => e !== value));
}
};
return (
<tbody>
{users.map((user) => (
<tr key={user._id}>
<td>
<Form.Group>
<Form.Check
type="checkbox"
value={user._id}
checked={user.isChecked}
onChange={(e) => handlecheckbox(e)}
/>
</Form.Group>
</td>
<td>{user._id}</td>
<td>{user.name}</td>
<td>{user.email}</td>
<td>{user.lastLogin}</td>
<td>{user.createdAt}</td>
<td>{user.status}</td>
</tr>
))}
</tbody>
)
}
这里是Nodejs代码:
userRouter.delete('/deleteUsers', async(req,res,next)=> {
try {
const selectedUsers = req.body
} catch (error) {
next(error)
}
})
1条答案
按热度按时间uurity8g1#
假设route中的
selectedUsers
是一个id数组,如果你想执行硬删除,下面的行应该可以做到。更常见的情况是,人们希望在将模式上的
isDeleted
属性定义为Boolean
的情况下执行软删除,然后执行以下操作: