ça va être un site Web sur Asychronus, chat multi-utilisateur. Je ne suis pas sûr d'intégrer tout dans une table. Document de canal et messages incorporés en tant que sous-document. Ou Normalisée, deux différents tableau, canaux et messages comme bases de données relationnelles.Dans MongoDB, devrais-je utiliser normalisé ou intégrer pour le cas suivant?
Channel: [
{
_id: ObjectId(…),
title: ''
descr: ''
owner: ''
mods : []
}
]
Message: [
{
_id: ObjectId(…)
msgid:''
from : 'UserID'
msg : ''
Channel : "Channel'sObjectID"
}
contre
Channel: [
{
_id: ObjectId(…),
title: ''
descr: ''
owner: ''
mods : ['UserID','UserID',]
Message: [
{
msgid:''
from : 'UserID'
msg : ''
}
}
]
Les messages sont des messages instantanés et doivent écrire beaucoup (comme beaucoup d'insertion en raison de requriement multi-utilisateurs). Donc, si je veux écrire, je dois interroger le message de la chaîne et y écrire. Cela va-t-il frapper plus de performance?
Oh, 16MB par document est notamment Embarqué Doc? Si le document incorporé grandit, il frappera également le document principal non? Avec l'utilisateur multi, il deviendrait facilement disponible dans quelques jours. Je pensais que les documents intégrés sont traités comme des documents séparés. Merci beaucoup! –
@ V3ss0n Oui, les documents incrustées sont partie du document, ils sont intégrés dans. – Philipp