1
我正試圖找到哪種方法更具可擴展性。 我有一位在拼車旅行中要求座位的用戶,並且用戶需要能夠查看適用於他們的所有行程。我的模型是這樣的:當用戶去查看適用於他們所有的行程這是查詢MongoDB的最佳結構嗎?
var UserSchema = new mongoose.Schema({
id: String,
name: String,
trips: [String] // An array of strings, which holds the id of trips
});
var TripSchema = new mongoose.Schema({
id: String,
description: String,
passengers: [String] // An array of strings, which holds the id of users
});
所以,我的後端將通過在蒙戈數據庫中的所有車次搜索。 我2個方案之間作出決定:
- 搜索通過所有行程和
- 搜索通過所有行程相匹配的ID的ID返回的車次,其中用戶的id是乘客數組中,並返回的車次用戶的旅行數組。
我相信方法#2更好,因爲它不必在Trip模型中進行更深入的搜索。我只是尋求確認,並想知道是否還有其他我應該考慮的事情。
太棒了,這正是我所希望的見解!我希望在我的範圍內寫入性能可以忽略不計的讀取改進。我沒有使用貓鼬填充功能,但我肯定會研究它。感謝Reto! :) –
順便說一句。也許是一個很好的閱讀 - 這是來自有史以來最有名的計算機科學家之一:http://c2.com/cgi/wiki?PreviousOptimization – Reto
「不成熟的優化是所有邪惡的根源」哈哈這將是一個很好的讀 –