您可能对使用Mongoid或MongoMapper之类的ORM感兴趣.
http://mongoid.org/docs/relations/referenced/1-n.html
在像MongoDB这样的NoSQL数据库中,没有"表",而是集合.文档在集合中分组.您可以在一个集合中拥有任何类型的文档,以及任何类型的数据.基本上,在NoSQL数据库中,由您决定如何组织数据及其关系(如果有).
Mongoid和MongoMapper所做的是为您提供方便的方法来轻松建立关系.看看我给你的链接,问任何问题.
编辑:
在mongoid中,您可以这样编写方案:
class Student
include Mongoid::Document
field :name
embeds_many :addresses
embeds_many :scores
end
class Address
include Mongoid::Document
field :address
field :city
field :state
field :postalCode
embedded_in :student
end
class Score
include Mongoid::Document
belongs_to :course
field :grade, type: Float
embedded_in :student
end
class Course
include Mongoid::Document
field :name
has_many :scores
end
编辑:
> db.foo.insert({group:"phones"})
> db.foo.find()
{ "_id" : ObjectId("4df6539ae90592692ccc9940"), "group" : "phones" }
{ "_id" : ObjectId("4df6540fe90592692ccc9941"), "group" : "phones" }
>db.foo.find({'_id':ObjectId("4df6539ae90592692ccc9940")})
{ "_id" : ObjectId("4df6539ae90592692ccc9940"), "group" : "phones" }
您可以使用ObjectId来处理文档之间的关系.