javascript - 从两个不同的模式中删除
问题描述
我创建了一个 Gym Web App 作为体验,但我已经到了无法弄清楚如何解决这个问题的阶段。我有用户和 GymClasses。
当您为自己预订体育课时,它会将userId
. classMembers array
然后还将附加到的类存储user
在其架构中。
所以问题是当试图删除一个有用户注册的课程时,它会按预期删除该课程,但我需要让每个userId
注册到该课程的课程并删除classId
他们参加的课程。
这是的图像class Schemas
:
正如您所看到的,Class Schema
有一个classMembers array
填充了userId's
哪些注册到班级的内容。
这是用户架构:
const bookedClassesSchema = mongoose.Schema({
classId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'createClass',
},
dateBooked: {
type: Date,
}
})
const userSchema = mongoose.Schema({
name: {
type: String,
required: true
},
email: {
type: String,
required: true,
unique: true
},
password: {
type: String,
required: true
},
address: {
type: String,
required: true
},
gymLocation: {
type: String,
required: true
},
bookedClasses: [bookedClassesSchema]
});
现在考虑到这将是在删除类之前,循环classMembers array
抓取每个userId
用户,因为我们已经有了ClassId
要删除的,然后ClassId
从bookedClasses array
. 我不确定如何做到这一点,所以任何建议都会很棒!
这是我到目前为止所做的:
exports.deleteClass = (req, res) => {
let classId = req.params.id;
let users = [];
GymClass.findById({
_id: classId
}, 'classMembers', (res ,err) => {
if (err) {
res.status(401).json({
message: "Error Occured!"
})
} else {
res.push(users);
users.forEach(function(element) {
console.log(element);
});
users.forEach( (users.userId) => {
console.log(users.userId);
});
我没有比这更进一步,任何示例或帮助将不胜感激!
解决方案
推荐阅读
- javascript - 将 PHP 常量 \_\_NAMESPACE__ 转移到 Javascript
- python - 如何打开签出的文件 P4 Python
- postgresql - PostgresSQL中数字之间的平均数量
- php - 我无法访问我的 wordpress 插件的自定义模板中的帖子
- c - 如何保存当前日期以用于将来的记录?
- python - 我需要一种在基于 django 函数的列表视图中传递唯一对象 ID 的方法
- doxygen - 在 doxygen 输出中同时包含 #ifdef 和 #else 代码
- git - 如何删除本地分支
- javascript - 单击事件后如何从 ReactJS 中的数组中删除对象
- java - java.io.IOException:无法创建目录:/tokens Google Sheet API