Mongodb Mongomapper外键?

Mongodb Mongomapper外键?,mongodb,mongomapper,padrino,Mongodb,Mongomapper,Padrino,我目前正在Padrino项目中使用Mongomapper,在该项目中,我从外部源导入数据。主对象(应用程序)有两种关联的文档类型,活动和通知 但是,我希望自己指定外键,而不是使用内部Mongo ID,因为外键在数据导出中,我通过rake任务导入 我尝试了一个嵌入文档,但这会导致问题,因为我必须删除所有相关数据,而不是更新它,这并不理想 我尝试了以下方法,但没有成功: class Application include MongoMapper::Document ensure_index

我目前正在Padrino项目中使用Mongomapper,在该项目中,我从外部源导入数据。主对象(
应用程序
)有两种关联的文档类型,
活动
通知

但是,我希望自己指定外键,而不是使用内部Mongo ID,因为外键在数据导出中,我通过rake任务导入

我尝试了一个
嵌入文档
,但这会导致问题,因为我必须删除所有相关数据,而不是更新它,这并不理想

我尝试了以下方法,但没有成功:

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

你知道我哪里出了问题吗?

MongoMappers公司对此有点了解,但在功能测试中可以找到一个例子。
:外键的定义应该在
many
上指定,而不是
属于

MongoMapper的定义对此有点不清楚,但在功能测试中可以找到一个例子。
:外键
的定义应该在
many
上指定,而不是
属于

是的,谢谢!你说得对,至少在这一点上,文档有点粗略。我还需要做的一件事是通过将
key:refval,String
更改为
key:_id,String
覆盖我的应用程序对象上的主键,谢谢!你说得对,至少在这一点上,文档有点粗略。我还需要做的一件事是通过将
key:refval,String
更改为
key:_id,String
来覆盖我的应用程序对象上的主键