1
我試圖弄清楚,構建與用戶數據關聯的集合的最佳實踐是什麼(關於響應,查詢速度或其他) 例如,什麼更好? 或創建額外的集合來保存這些數據,例如: Meteor.UserInfo.user {朋友,位置,以前的訂單,等等」)。 謝謝。流星用戶集合vs其他集合
我試圖弄清楚,構建與用戶數據關聯的集合的最佳實踐是什麼(關於響應,查詢速度或其他) 例如,什麼更好? 或創建額外的集合來保存這些數據,例如: Meteor.UserInfo.user {朋友,位置,以前的訂單,等等」)。 謝謝。流星用戶集合vs其他集合
使用Users集合來存儲有關該用戶的與其他集合無關的信息。通常這應該在用戶文檔的頂層,而不是在配置文件中。我期望在配置文件中看到的唯一情況是配置文件信息(而不是,例如,以前的訂單列表)。
像以前的訂單不應該在那裏,因爲你可以查詢Orders集合來找到它們。出於性能方面的原因,是有時可用於對數據進行非規範化處理,但這應該是一個例外,而不是規則。
謝謝,所以如果我有一個儀表板,我想看到所有用戶的信息,我將不得不運行與他的Id所有集合的查詢。繼續收集(usersInfo)所有用戶的參考信息並直接使用ref ID查詢集合是否有意義?另一種方式? –
這樣的非規範化數據是艱苦的工作。例如,每次添加/刪除訂單時,都需要更新用戶。代碼更復雜,存在更多的空間。這是沒有必要的。唯一有充分理由的是性能增強,以及幾乎不需要的儀表板。如果需要,您可以稍後進行denormalise。 – tarmes
明白了。每種方法的回調是一項艱鉅而危險的工作。怎麼處理用戶ID的插入ID? _id:createdBy - uuid? –