node.js - Node + mongoose:删除模型及其关系中的所有记录
问题描述
在 Node 应用程序中,有一个名为Version的模型,它通过其id引用资源模型的数组(作为一对多关系):
const versionSchema = new mongoose.Schema({
name: String,
images: [{ type: Schema.Types.ObjectId, ref: 'Resource' }]
}, { timestamps: true })
const Version = mongoose.model('version', versionSchema)
在应用程序的某些部分,我想删除所有“版本”以及与它们相关的那些资源。我已经编写了下面的代码,它可以工作,但我不知道(而且我无法确定)这是否是最好的方法。
const versions = await Version.find()
for(let version of versions) {
const ids = version.images
await Resource.remove({_id: {$in: ids }})
await version.delete()
}
谁能帮助我,告诉我这是否是一个好方法,或者是否有另一种更适合我必须做的方法?
解决方案
推荐阅读
- android - RecyclerView 在 android espresso 测试中不滚动
- c# - Unity3D:添加 Vector3 会导致错误的值
- android - 使用本地 HTML 在 Android 上加载本地文件 - net::ERR_FILE_NOT_FOUND
- swift - Alamofire 请求是否真的在后台线程中运行?
- digital-signature - 如何在比特币交易中验证数字签名?
- java - 有没有办法让 Gradle 测试结果转到一个 xml 文件?
- javascript - 在 Internet Explorer 开发人员工具中查找 HTTP 请求发起程序行
- r - 如何使用 .shp 将空间多边形应用于传单地图
- r - 在 R 中满足条件时重置累积和
- mysql - mysql中键集分页的索引