MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Ember-data e MongoDB, come gestire _id

Se stai usando Mongoid, ecco una soluzione che lo fa in modo da non dover aggiungere un metodo def id; object._id.to_s; end a ogni serializzatore

Aggiungi il seguente inizializzatore Rails

Mongoid 3.x

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

Mongoide 4

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

Serializzatore modello attivo per Building

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

JSON risultante

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

Questa è una patch scimmia suggerita da brentkirby e aggiornato per Mongoid 4 da arthurnn