我正在使用MongoDB在Ruby on Rails中开发一个简单的论坛应用程序。
应该有这些基本的东西:
Topics
-Author name
-Topic name
-Topic text (content)
和
Comments
-Name of commentator
-Comment text
一个人应该能够创建/编辑/删除Topics
和Comments
我对如何处理MongoDB中的表结构感到困惑。 我的意思是,如果我要使用MySQL,这就是我的想法:
主题:
ID - autoincrement int(10)
author - varchar(40)
topic_text - text
评论:
ID - autoincrement integer
commentator_name - varchar(40)
comment_text - text
for_topic_id - int(10) //the Topic on which this comment is
我如何在MongoDB中做到这一点?
答案 0 :(得分:0)
mongodb中不再存在表格。当你来到mongodb时,它就是所有的收藏品。每个集合都是一个文档集合(Mysql中的行)。您可以动态创建任何您想要的字段。您已直接在模型中编写字段而不是迁移。例如,在您的情况下:
class Topic
include Mongoid::Document
field :author, type: String
field :topic_text, type: String
end
当涉及到id
时,它会以增量方式为每个文档生成24位数的唯一BSON ID
注意:我使用mongoid
作为ORM与我的rails应用程序中的mongoDB交谈。