MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Ember-data e MongoDB, como lidar com _id


Se você estiver usando o Mongoid, aqui está uma solução que faz com que você não precise adicionar um método def id; object._id.to_s; end para cada serializador

Adicione o seguinte inicializador do Rails

Mongóide 3.x
module Moped
  module BSON
    class ObjectId
      alias :to_json :to_s
      alias :as_json :to_s
    end
  end
end

Mongóide 4
module BSON
  class ObjectId
    alias :to_json :to_s
    alias :as_json :to_s
  end
end

Serializador de modelo ativo para Building
class BuildingSerializer < ActiveModel::Serializer
  attributes :id, :name
end

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

Este é um patch de macaco sugerido por brentkirby e atualizado para o Mongoid 4 por arthurnn