我有一个会议的文件是这样的:流星蒙戈:横跨收藏同步领域
{
"name":"Meeting Name",
"uuid":"NYoc2aL6",
"participants":[
{
"id":"JLKGZnfFkGvX9DHgz",
"status":"joined",
"name":"Guest 03"
},
{
// newly invited user, user hasn't logged in with invite url yet
"id":"",
"status":"invited",
"name":"[email protected]"
}
]
}
,我需要在“名称”字段中收集的用户名同步。有没有一种自动的方式来做到这一点,比如在数据库级别,还是我坚持手动更新每个名称更改的地方?
数据库标准化增加获取时间结束。如果你真的必须一次又一次查找所有的用户名,那么把名字存入文档会更好。所以这取决于。他将节省检索数据的空间或时间: – Dude
这是您必须深入了解应用程序的工作方式的地方。添加到文档将减少加载时间并增加节省时间和空间(对于重复的字段),以及增加代码复杂性和保持事物同步的潜在问题。通过共享ID进行链接将消除同步代码的复杂性并减少空间,同时它还增加了更多收藏并降低了阅读速度。它也可以增加插入/更新,取决于这些流量的方式。知道什么是更重要的应用程序在这些情况下有帮助。 – CodeChimp
在我的情况下,更具体的原因是与可选的用户体验序列有关,即在某些情况下,用户将被添加到会议中,但尚未拥有实际的用户帐户,因此没有'user.profile.name'领域。通常情况下,我会尽量规范一切。 – T3db0t