【发布时间】:2012-05-08 01:25:59
【问题描述】:
我正在尝试关注http://mongotips.com/b/array-keys-allow-for-modeling-simplicity/
我有一个 Story 文档和一个 Rating 文档。用户将对故事进行评分,因此我想创建与用户评分的多重关系:
class StoryRating
include MongoMapper::Document
# key <name>, <type>
key :user_id, ObjectId
key :rating, Integer
timestamps!
end
class Story
include MongoMapper::Document
# key <name>, <type>
timestamps!
key :title, String
key :ratings, Array, :index => true
many :story_ratings, :in => :ratings
end
然后
irb(main):006:0> s = Story.create
irb(main):008:0> s.ratings.push(Rating.new(user_id: '0923ksjdfkjas'))
irb(main):009:0> s.ratings.last.save
=> true
irb(main):010:0> s.save
BSON::InvalidDocument: Cannot serialize an object of class StoryRating into BSON.
from /usr/local/lib/ruby/gems/1.9.1/gems/bson-1.6.2/lib/bson/bson_c.rb:24:in `serialize' (...)
为什么?
【问题讨论】:
标签: mongodb mongomapper