Javascript 如何有效地为猫鼬模式建模;s
大家早上好我会尽量简短 我有着SQL/EF的背景,进入猫鼬的心态肯定是错误的 我有三张桌子: 使用者/ 董事会/ BoardObjects 现在,我最初考虑在用户文档中将这些板存储为一个数组。但我认为我的做法是错误的,我需要社区的建议 我需要能够查询哪些用户拥有哪些板,这些板上有哪些对象,我放入的阵列是一场噩梦。然后我想,我需要跨越这些吗 例如,如果我存储一个用户,然后创建一个板,板中有一个用户ID,必须是用户唯一的,BoardObjects的用户ID和BoardId也是一样的,从我到目前为止读到的内容来看,通过使用连接和其他什么,这可能是可行的,我仍然需要学习 这里的社区景观如何?你经常嵌入或正常化吗?或者这是管理mongoose中相关数据的有效方法 为上下文提供模板Javascript 如何有效地为猫鼬模式建模;s,javascript,node.js,mongoose,Javascript,Node.js,Mongoose,大家早上好我会尽量简短 我有着SQL/EF的背景,进入猫鼬的心态肯定是错误的 我有三张桌子: 使用者/ 董事会/ BoardObjects 现在,我最初考虑在用户文档中将这些板存储为一个数组。但我认为我的做法是错误的,我需要社区的建议 我需要能够查询哪些用户拥有哪些板,这些板上有哪些对象,我放入的阵列是一场噩梦。然后我想,我需要跨越这些吗 例如,如果我存储一个用户,然后创建一个板,板中有一个用户ID,必须是用户唯一的,BoardObjects的用户ID和BoardId也是一样的,从我到目前为止读
如果我理解正确,您需要在两个表之间创建一个关系。在用户模型中,您可以添加如下内容
userSchema.virtual('boards', {
ref: 'Boards',
localField: '_id',
foreignField: 'owner'
});
然后,作为boards模型的一部分,将用户作为模型上的对象建立关系,如下所示
owner:{
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: 'User'
}
我希望这有帮助 抱歉,伙计,你完全忽略了BoardObjects,这并没有真正回答我的问题,你只是重构了模型导出的方式,它工作得很好。。尽管如此,谢谢你的时间,我很高兴能帮上忙
userSchema.virtual('boards', {
ref: 'Boards',
localField: '_id',
foreignField: 'owner'
});
owner:{
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: 'User'
}