MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Ember-data et MongoDB, comment gérer _id

Si vous utilisez Mongoid, voici une solution qui vous évite d'avoir à ajouter une méthode def id; object._id.to_s; end à chaque sérialiseur

Ajoutez l'initialiseur Rails suivant

Mongoid 3.x

module Moped
  module BSON
    class ObjectId
      alias :to_json :to_s
      alias :as_json :to_s
    end
  end
end

Mongoid 4

module BSON
  class ObjectId
    alias :to_json :to_s
    alias :as_json :to_s
  end
end

Sérialiseur de modèle actif pour Building

class BuildingSerializer < ActiveModel::Serializer
  attributes :id, :name
end

JSON résultant

{
  "buildings": [
    {"id":"5338f70741727450f8000000","name":"City Hall"},    
    {"id":"5338f70741727450f8010000","name":"Firestation"}
  ]
}

Ceci est un correctif de singe suggéré par brentkirby et mis à jour pour Mongoid 4 par arthurnn