【发布时间】:2022-12-17 14:59:27
【问题描述】:
我想实现的功能: 在前端,我有带有复选框的所有所有者的列表。添加的所有者已经被选中。如果我取消选中某些所有者 ID 并选中 2 个新所有者,我该如何实现,所以我删除未选中的所有者并添加新的“已检查”的。
我有一个用户模型:
const UserSchema = new mongoose.Schema({
email: { type: String, required: true, min: 6, max: 255 },
password: { type: String, required: true, min: 4, max: 1024 },
role: { type: String, required: true, default: "User" },
owners: [
{
type: Schema.Types.ObjectId,
ref: "Owners",
required: false,
},
],
});
我使用此查询 PUT METHOD 将所有者添加到特定用户:
exports.addOwnerToUser = async (req: Request, res: Response) => {
try {
let ObjectID = require("mongodb").ObjectID;
const mongoose = require("mongoose");
const user = {
email: req.body.email,
ownerId: req.body.ownerId,
};
const updatedUser = await User.findOneAndUpdate(
{ _id: req.params.userId, owners: { $ne: req.body.ownerId } },
{ $push: { owners: { $each: req.body.ownerId } } },
{ new: true, useFindAndModify: false }
);
res.status(201).json({ sucess: true, msg: "User updated sucessfully" });
} catch (err) {
res.status(404).json(err);
}
};
2.)如果我在前端取消选中所有者,我该如何实现它,它会从所有者数组中删除?
【问题讨论】:
-
您能否将标题调整为更具描述性?
-
呃,对不起,我什至没有意识到我的头衔