mongoose MongoDB通过引用对象中的字段搜索/查找

7cwmlq89  于 2022-11-13  发布在  Go
关注(0)|答案(1)|浏览(146)

我有新闻文章和类别模式,下面是简化的。我希望能够返回所有包含给定类别名称的文章。显然,我可以通过类别ObjectId _id进行搜索,但我希望能够通过category.name进行搜索。

var ArticleSchema = new Schema({
    title: String,
    body: String,
    categories: [{
        type: Schema.Types.ObjectId, ref: 'Category'
    }]
});

var CategorySchema = new mongoose.Schema({
    name: { type: String, unique: true },
        desc: String
});

这是可能的吗?是否需要在categories集合上执行一次搜索以返回id,然后在articles集合上执行另一次搜索以返回文章(这似乎效率不高),或者我是否需要重新修改我的Schema?提前感谢。

xfb7svmp

xfb7svmp1#

我不知道什么数据有你的类别集合,但对我来说,你有2个选择:
在你的文章中嵌入类别或在类别中使用自定义ID,所以你的类别ID应该是你的类别名称。

相关问题