現在有兩種方案一種是, 把用戶的活動放在user collection裏,缺點是可能會放很多東西 另一種方案是, 新建一張activities collection,用userId做index 但其實我並不需要同時看多個用戶的activities
對於你的需求,建議另加一個collection,採用userId做關聯,儘管mongodb優先建議做內嵌處理。分析你的activities既然是用來做使用者的活動時間軸,基本上就是每個使用者都應該有的。另外,根據你的描述activities會放很多東西,儘管目前mongodb對於單個doucment擴展其大小到16M,但是內容太大的話仍會超出其限制,而且對查詢等也會有一定影響。對於此種情況,mongodb也會建議做冗餘連接,模擬SQL的連接查詢。
對於你的需求,建議另加一個collection,採用userId做關聯,儘管mongodb優先建議做內嵌處理。分析你的activities既然是用來做使用者的活動時間軸,基本上就是每個使用者都應該有的。另外,根據你的描述activities會放很多東西,儘管目前mongodb對於單個doucment擴展其大小到16M,但是內容太大的話仍會超出其限制,而且對查詢等也會有一定影響。對於此種情況,mongodb也會建議做冗餘連接,模擬SQL的連接查詢。