0
它將成爲一個基於Web的Asychronus,多用戶聊天。 我不確定將所有內容嵌入到一張表中。通道文檔和嵌入式消息作爲子文檔。 或規範化,兩個不同的表,通道和消息,如關係數據庫。在MongoDB中,我應該使用規範化還是嵌入以下情況?
Channel: [
{
_id: ObjectId(…),
title: ''
descr: ''
owner: ''
mods : []
}
]
Message: [
{
_id: ObjectId(…)
msgid:''
from : 'UserID'
msg : ''
Channel : "Channel'sObjectID"
}
與
Channel: [
{
_id: ObjectId(…),
title: ''
descr: ''
owner: ''
mods : ['UserID','UserID',]
Message: [
{
msgid:''
from : 'UserID'
msg : ''
}
}
]
消息是聊天消息,並需要寫很多(如插入多因多用戶requriement)。所以如果我想寫我需要查詢下來頻道的消息,並寫在那裏。它會達到更多的性能嗎?
哦,16MB每個文件是否包含嵌入式文檔?如果嵌入式文檔增長,它也會打擊主文檔嗎?有了多用戶env,它會在幾天內輕易超過。我認爲嵌入式文檔被視爲分離的文檔。非常感謝! –
@ V3ss0n是的,嵌入式文檔是嵌入文檔的一部分。 – Philipp