我有下面简化的新闻文章和类别模式。我希望能够 e 返回包含给定类别名称的所有文章。显然,我可以按类别 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
});
这可能吗?是在类别集合上执行搜索以返回 id,然后在文章集合上执行另一个搜索以返回文章(这似乎效率低下)还是我需要重新设计我的架构?提前致谢。