gpt4 book ai didi

ruby-on-rails - 关于简单MongoDB数据库结构的建议

转载 作者:可可西里 更新时间:2023-11-01 09:13:20 25 4
gpt4 key购买 nike

我刚刚开始使用 MongoDB 和 Mongoid for Rails,需要一些关于设计简单博客数据库的正确方法的建议。

我目前正在使用下面的结构,但我需要一种方法来查询给定用户写的所有评论(关系数据库等同于 Comment.where('user_id = ?', user_id))。

这是正确的设置,还是我应该将评论移出到它们自己的文档中,而不是将它们嵌入到帖子中(就像我在关系数据库架构中那样)?

感谢任何建议,谢谢。

数据库架构

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
}

在MongoDB中,我对应的模型是:

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

最佳答案

Mongodb.org 上有一篇很棒的文章,介绍了建模评论的各种选择。

checkout :http://www.mongodb.org/display/DOCS/MongoDB+Data+Modeling+and+Rails#MongoDBDataModelingandRails-ModelingComments

关于ruby-on-rails - 关于简单MongoDB数据库结构的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com