/ / Clé étrangère Mongomapper? - mongodb, mongomapper, padrino

Clé étrangère Mongomapper? - mongodb, mongomapper, padrino

J'utilise actuellement Mongomapper dans un projet Padrino où j'importe des données à partir d'une source externe. L'objet principal (Application) a deux types de documents associés, Activity et Notice.

Cependant, j'aimerais spécifier moi-même la clé étrangère, plutôt que d'utiliser l'ID Mongo interne, car la clé étrangère se trouve dans l'exportation de données, que j'importe via une tâche de râteau.

J'ai essayé un EmbeddedDocument, mais cela pose des problèmes car je dois supprimer toutes les données associées, plutôt que de les mettre à jour, ce qui n'est pas idéal.

J'ai essayé ce qui suit, mais sans aucune chance:

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

Des idées où je me trompe?

Réponses:

4 pour la réponse № 1

MongoMappers "s Documentation des associations est un peu léger à ce sujet, mais il y a un exemple à trouver dans le test_associations Test fonctionnel. le :foreign_key la définition doit être spécifiée sur many au lieu de belongs_to.