在我深入研究MongoDB几天之前,我想我应该问一个非常基本的问题,我是否应该深入研究它.我基本上没有使用nosql的经验.
我确实读了一些关于文档数据库的好处的书,我认为对于这个新的应用程序来说,它们将非常棒.对很多类型的对象(很多m-to-m关系)和子类进行Collection 夹、 comments 等操作总是很麻烦,这是一种很难处理的问题.
我还有一个在SQL中定义的 struct ,这将是一个痛苦的过程,因为它是非常嵌套的,并且比15个不同的表更好地转换为一个文档.
但是有几件事我很困惑.
保持数据库正常化是可取的吗?我真的不想更新多个记录.这仍然是人们在MongoDB中设计数据库的方式吗?
如果用户Collection 了一本书,并且此 Select 仍存储在用户文档中,但随后删除了该书,会发生什么情况?如果没有外键,关系是如何分离的呢?我是否自己手动负责删除所有链接?
如果用户喜欢一本不再存在的书,而我查询它(某种形式的加入),会发生什么?我必须在这里进行容错吗?