對于我的整個專案,我將我的多個收藏與此相關聯。
User model
Name:string, email:string, password:string,
vehicles:[{
"vehicleId", "vehicleId"
}]
車型
vehicleId:string,
vehicleName: string
這是最好的方法嗎?
我使用這種方法是因為在貓鼬中我可以撰寫 user.vehicle.populate() 來獲取所有車輛資料
uj5u.com熱心網友回復:
這取決于vehicles陣列中的條目數量。
如果您計劃存盤少于幾百輛汽車,則將依賴項嵌入到陣列中是最好的解決方案,因為它允許一次檢索所有用戶資料。
這意味著您甚至不必只將車輛的 id 存盤在陣列中,您只需將整個物件放入即可。這部分取決于您的應用程式訪問資料的方式:
- 如果您從不獨立于用戶使用車輛,那么嵌入整個車輛檔案是很好的,因為您可以一次檢索所有資料而無需加入兩個不同的集合(昂貴)。
- 盡管如果您確實需要這些集合,最好只在陣列中包含 id,因為它會簡化您的車輛查詢。
另一方面,如果車輛開始堆疊到數千輛,將它們全部嵌入到一個陣列中肯定是不好的,并且隨著資料量的增長,您將遇到性能問題。然后,您應該使用外鍵來參考user檔案中的vehicle檔案。
該視頻是我所知道的關于 mongodb 架構設計的最佳資源:https ://youtu.be/leNCfU5SYR8
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/471282.html
