【发布时间】:2020-09-23 19:14:51
【问题描述】:
我的 MongoDB 数据库中有两个集合:
- 俱乐部收藏
- 照片集。
它们的架构如下:
var clubsSchema = new Schema({
clubName: { type: String },
photosOfMembers: [{ type: ObjectId, ref:'Photos' }],
});
var photosSchema = new Schema({
sourceUrl: { type: String },
filePath: { type: String },
description: { type: String }
});
我们学校有许多俱乐部。 这些照片是学生的个人资料照片。 有些学生属于多个俱乐部,因此,多个俱乐部可以参考一张照片。
这些照片取自外部网站(例如 Facebook、Reddit、Quora),记录在数据库中,文件存储在服务器中。
每次学生加入俱乐部时,我们都会从外部网站抓取他们的照片。 我们使用 photosSchema.sourceUrl 来检查照片是否存在于我们的数据库中,如果不存在则存储它。 这有助于我们防止出现属于一个学生的重复图像的情况。
这很好用。
当学生离开俱乐部时,问题就来了。
- 问题:
当他/她不再是任何俱乐部的成员时,我想删除该学生的照片。如果他/她属于俱乐部,则照片将保留。
我的数据库有数千条记录 - 最好(最有效/最高效)的方法是什么。
【问题讨论】:
标签: node.js database mongodb mongoose