2010-11-08 24 views
1

Nous utilisons un plugin attributs dynamiques similaires à ceci: http://codaset.com/joelmoss/dynamic-attributesPeut-on mélanger les attributs dynamiques de Mongodb à un modèle ActiveRecord?

Ce qui nous permet de stocker des attributs dynamiques dans notre modèle de rails. Ces attributs dynamiques sont dans une colonne de base de données unique. Nous sommes confrontés à des problèmes de performance à cause de cela et je me demande si MongoId, MongoMapper ou d'autres plugins de rails nous permettront de conserver certains attributs dans ActiveRecord (en gardant le < ActiveRecord::Base) mais stocker les attributs dynamiques dans mongodb. Nous voulons faire cela parce que nous devons continuer à utiliser MySQL pour la plupart de notre système existant, mais utiliser MongoDB pour stocker des attributs dynamiques sur certains modèles.

Fondamentalement ce que je parle: http://www.railsinside.com/plugins/242-quickly-add-couchdb-to-existing-rails-models-with-stuffing.html

Ce plugin ne exactement la même chose en utilisant CouchDB.

+0

Je ne ferme pas parce que je n'ai pas de réponse définitive. Est-ce que MongoId ou MongoMapper peuvent le faire hors de la boîte ou devons-nous le programmer nous-mêmes? Je n'ai pas eu l'occasion de faire des recherches complètes sur MongoId & MongoMapper. Si je le fais, je vais répondre moi-même. – Amala

Répondre

0

Je ne vois aucune raison que MongoDB ne puisse pas gérer la même chose. MongoMapper doit implémenter le modèle ActiveRecord. Cependant, Mongo a aussi quelques pilotes simples pour Ruby. Dans l'ensemble, le concept de stockage des attributs dynamiques est un cas d'utilisation parfait pour MongoDB. Si cela ne vous dérange pas de sauter "ActiveRecord", vous pouvez probablement créer votre propre en utilisant les pilotes de base Mongo avec très peu de travail.

Si vous ne pouvez pas comprendre les étapes à suivre pour cela, je vous suggère de faire un ping aux groupes (http://groups.google.com/mongodb-user/) et de demander directement à Kyle Banker (c'est leur expert en rubis) .

+0

On dirait que nous devons réimplémenter le bourrage pour MongoDB? C'est une réponse raisonnable. Je me demandais si MongoMapper ou MongoId supportaient ce mode de fonctionnement. – Amala