주로 몽고이드의 디자인 아이디어를 묻기 위해 왔습니다. 이 부분도 제가 고민하는 부분입니다. 먼저 두 가지 관련 모델이 내장되어 있습니다.
으아아아설명의 편의를 위해 코드는 매우 간단합니다. 여기서 사용자와 홈페이지는 일반적인 일대일 관계를 갖습니다. 관계형 데이터베이스에 배치된 경우 홈페이지에서 외래 키 매핑을 수행해야 합니다. Mongo는 매우 유연하며 홈페이지를 사용자에게 직접 삽입할 수 있습니다. User.all
과 같은 User를 쿼리하는 것은 쉽지만 Homepage.all
에 동일한 구문을 넣으면 아무런 효과가 없습니다.
Mongodb가 컬렉션에서만 작동할 수 있다고 말하지 마세요. 사용자는 컬렉션이고, 홈페이지는 컬렉션이 아닙니다. 이것은 Mongodb가 아닌 Mongoid이며, 홈페이지의 개념이 완전히 구현될 수 있습니다. 게다가 홈페이지에도 id 속성이 있는데, 이를 독립적인 컬렉션으로 추상화하지 않으면 추가된 id는 쓸모가 없는 것 아닌가요?
저는 이 문제로 어려움을 겪고 있는데 단지 embeds_one 관계를 has_one으로 변경할 수 있기 때문만은 아닙니다. 사실, 나에게는 이 의미론이 필요하다. /users
과 같은 사용자용 인터페이스를 디자인합니다. /homepages
과 같은 홈페이지용 인터페이스도 디자인합니다. 그러나 이 경우 홈페이지의 콘텐츠를 기반으로 사용자를 필터링하는 중요한 경험이 손실됩니다. 즉, 홈페이지의 콘텐츠와 사용자를 동시에 기반으로 사용자를 필터링할 수 없습니다(즉, 조인 작업). 관계형 데이터베이스의 경우).
이 문제에 대해 동료들과 논의하고 싶습니다. 지원해 주셔서 감사합니다.
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...