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)があります。しかし、よりよいアプローチについて意見を得るのは良いことです。 –