我目前正在从外部源导入数据的 Padrino 项目中使用 Mongomapper。主对象 ( Application
) 有两个关联的文档类型,Activity
和Notice
.
但是,我想自己指定外键,而不是使用内部的 Mongo ID,因为外键在数据导出中,我通过 rake 任务导入。
我试过了EmbeddedDocument
,但这会导致问题,因为我必须删除所有关联的数据,而不是更新它,这并不理想。
我尝试了以下方法,但没有任何运气:
class Application
include MongoMapper::Document
ensure_index [[:latlng, '2d']]
key :refval, String
key :pkeyval, String
key :applicantname, String
key :latlng, Array
key :address, String
key :occupier, String
key :type, String
key :casetype, String
key :tradingname, String
key :closingdate, Date
key :recieveddate, Date
key :details, String
key :usetype, String
key :status, String
key :validfrom, Date
timestamps!
many :activities
many :notices
end
class Activity
include MongoMapper::Document
key :keyval, String
key :pkeyval, String
key :type, String
key :cycle, String
key :open, String
key :close, String
belongs_to :application, :foreign_key => :pkeyval
end
class Notice
include MongoMapper::Document
key :keyval, String
key :pkeyval, String
key :recieveddate, Date
key :startdate, Date
key :enddate, Date
key :days, String
key :hours, String
key :activities, Array
belongs_to :application, :foreign_key => :pkeyval
end
有什么想法我哪里出错了吗?