【发布时间】:2011-08-10 10:38:10
【问题描述】:
朋友们好~
我想使用 MongoDB 来实现基于组的友谊模型。就像 Google Buzz 一样。
例如,
我的名字是汤姆,史蒂夫和加文是我的朋友。史蒂夫是我的同学和同事,加文是我的同事。
我的问题是如何设计这个架构?
在 Rails 和 Mongoid 中,我编写了以下代码:
这里是 user.rb
类用户 包括 Mongoid::Document 字段:用户名 字段:电子邮件 字段 :block_list, :type => Array, :default => [] 键:用户名 embeds_many:组 embeds_many :pending_requests has_and_belongs_to_many :friends, :class_name => "用户" 结尾group.rb
班组 包括 Mongoid::Document 嵌入:用户 字段:名称 字段:成员,:类型 => 数组,:默认 => [] 结尾pending_request.rb
类 PendingRequest 包括 Mongoid::Document 嵌入:用户 字段:用户名 领域:身体 结尾有什么建议吗?谢谢。
【问题讨论】:
标签: ruby-on-rails mongodb schema social-networking mongoid