因此,在关系数据库中,我可能有 2 个表,“User”和“Event”,它们具有多对多关系,因此有一个连接表“UsersEvents”。现在,除了 2 个 ID 之外,我还想在此表中存储一些数据,例如名为“Enjoyed”的 bool 值。
据我了解,在 Mongo 中,您将在表之间创建嵌入链接,例如使用 Mongoose
var Person = new Schema({
email: String,
events: [EventFeedback]
})
var Event = new Schema({ ... });
var EventFeedback = new Schema({
person: Schema.ObjectId,
event: Schema.ObjectId,
enjoyed: Boolean
});
但这真的是建模的最佳方式吗?我本以为 EventFeedback 中的所有内容都可以在 Person.events 中,这将由 Event._id 索引?或者这可能只是 Mongoose 的一个限制?
最佳答案
试试这个方法
var EventScheme = new Schema({ ... });
mongoose.model('Event', EventScheme);
var PersonScheme = new Schema({
email: String,
events: [{
event: {
type: mongoose.Schema.ObjectId,
ref: 'Event'
},
enjoyed: Boolean
}]
});
关于mongodb - 在 Mongo 中对多对多连接进行数据建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9720464/