我有新闻文章和类别模式,下面是简化的。我希望能够返回所有包含给定类别名称的文章。显然,我可以通过类别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?提前感谢。
1条答案
按热度按时间xfb7svmp1#
我不知道什么数据有你的类别集合,但对我来说,你有2个选择:
在你的文章中嵌入类别或在类别中使用自定义ID,所以你的类别ID应该是你的类别名称。