【发布时间】:2019-10-28 18:04:48
【问题描述】:
假设我有 3 个架构: 1. 用户:
const User = mongoose.model('users', {
name: {
type: String,
required: true,
trim: true
}
}
- 超级用户:
const SuperUser= mongoose.model('superusers', {
name: {
type: String,
required: true,
trim: true
}
}
- 消息:
const Message = mongoose.model('Message', {
content: {
type: String,
required: true,
trim: true
},
sender: {
type: {
type: mongoose.Schema.Types.String,
required: true,
enum : ['USER,'SUPER_USER'],
},
id: {
type: mongoose.Types.ObjectId,
required: true
}
}
})
我想使用聚合框架来获取(所有)消息,同时在消息内部使用“超级用户”或“用户”表(超级用户的列)中的数据填充嵌套的发件人对象和用户只是一个例子)。 是否可以“有条件地查找”,即根据类型查找超级用户或用户?我对聚合框架很陌生,所以这可能是一个显而易见的解决方案。
【问题讨论】:
标签: mongodb mongoose aggregation-framework