我創建一個web應用程序,包括團隊和用戶。用戶可以屬於多個團隊,團隊由許多用戶組成。爲了實現這一點在後臺,我跟着導遊水線像this one創建關聯表,並創造了水線模型爲用戶和組。做完這些之後,我仍然不確定我的API可能會如何返回,例如屬於某個團隊的用戶列表。 我不確定這裏的最佳做法是什麼。我應該在團隊模型中創建一個只存儲團隊用戶名稱的數組,並在需要時返回該數組?或者有沒有一種有效的方式來查詢關聯表以獲得特定團隊的用戶列表? 任何幫助將不勝感激!如何構建數據庫模型在帆的許多一對多關聯
1
A
回答
2
使用blueprints你的API,你將自動檢索球隊的用戶。
如果你想使用自定義控制器,可以使用獲得的populate()
相同的結果。
Team.findOne({id:id}).populate('users').exec(function(err, team){
console.log(team.toJSON())
});
1
我的建議是,重新審視自己的業務邏輯,如果你正在使用的數據庫就像蒙戈規劃模型狀物體,Y想有用戶喜歡你的主要項目:
var UserModel = {
name: String,
age: Number,
teams:[
{
name: String,
memberSince: Date
},
{
name: String,
memberSince: Date
}
]
};
然後取回一些球隊的查詢看起來像
var memberList = UserModel.find({teams.name:<your team>});
不要的用戶列表中使用任何IDS綁定collecti ons只是使用數組在您的用戶集合中使用它們。
+0
不幸的是我需要的團隊模式來存儲個人信息的球隊,所以我不知道你的建議是可行的。 – pdorns
相關問題
- 1. 許多一對多在帆
- 2. rails - 如何顯示在ui中使用多對多關聯模型創建的多對多數據模型?
- 3. 許多一對多的模型關係
- 4. 帆JS複雜的多對多關聯
- 5. Laravel:一對多,許多對一個模型一對多關係
- 6. 許多一對多在EF與在關聯表數據字段
- 7. 許多一對多與關聯對象
- 8. SQLAlchemy的許多一對多關聯類
- 9. 續集 - 訂購一對多和多對多模型關聯的數據集
- 10. 如何在factory_girl中構建/創建多對多關聯?
- 11. 關聯數據與多對多關聯
- 12. 如何構建一個可選的許多數據庫?
- 13. Rails中的模型關聯 - 多個模型中的多對多
- 14. 發現在許多無關聯的數據一對多的關係
- 15. MongoDB性能與關係數據庫對於許多許多一對多
- 16. WhereBetween在我的感覺模型許多一對多的關係
- 17. Extjs 4.1多對多模型關聯
- 18. 如何在數據庫中建立多對多的關係?
- 19. CoreData - 一對多關係 - 數據模型
- 20. 數據模型,多對多和一對多關係
- 21. 數據庫模式 - 混合多對多和一對多關係
- 22. 如何從多個許多一對多數據庫表
- 23. 在一個模型中多個一對多關聯
- 24. 在源和關聯中創建行Sequelize多對多模型
- 25. 關聯模型在許多沒有表現出很多的關聯sequelize.js節點
- 26. 以一對多的關係構建Firebase數據庫
- 27. 如何構建多對多的關係
- 28. ER模型中的多對多數據庫關係
- 29. 強類型數據集:將許多一對多關係
- 30. 關係數據庫設計(正火許多一對多映射)
你鏈接到的水線指南有所有的答案 - 只需用「寵物」替換「團隊」,它就是爲你準確建模的。您可以使用「填充」來獲取與用戶關聯的所有團隊,或與團隊關聯的所有用戶。 – sgress454