MongoDB와 Mongoid for Rails를 시작하고 간단한 블로그 데이터베이스를 디자인하는 올바른 방법에 대한 조언이 필요합니다.간단한 MongoDB 데이터베이스 구조에 대한 조언
현재 아래 구조를 사용하고 있지만 주어진 사용자가 작성한 모든 주석을 쿼리하는 방법이 필요합니다 (관계형 데이터베이스는 Comment.where('user_id = ?', user_id)
).
올바르게 설정 되었습니까? 또는 주석을 자체 문서로 옮기고 게시물에 포함시키지 않아야합니까? (관계형 데이터베이스 스키마와 마찬가지로)?
감사합니다.
데이터베이스 스키마 MongoDB의에서
post {
_id: (object id)
title: string
body: string
user_id: reference
comments: [
{ _id: (object id), body: string, user_id: reference },
{ _id: (object id), body: string, user_id: reference },
...
]
}
user {
_id: (object id)
name: string
}
, 내 해당 모델은 다음과 같습니다
class Post
include Mongoid::Document
field :title
field :body
embeds_many :comments
references_one :user
end
class Comment
include Mongoid::Document
field :body
embedded_in :post
references_one :user
end
class User
include Mongoid::Document
field :name
references_many :posts
end
이 StackOverflow에가 [이 관련 게시물 (토 http://stackoverflow.com/questions/3813975/ mongo-db-design-embedding-vs-relationships) 좋은 답변을 제공합니다. 그래도 더 나은 접근법에 대한 의견을 얻는 것이 좋습니다. –