MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ember-data und MongoDB, wie man mit _id umgeht

Wenn Sie Mongoid verwenden, finden Sie hier eine Lösung, mit der Sie keine Methode hinzufügen müssen def id; object._id.to_s; end an jeden Serialisierer

Fügen Sie den folgenden Rails-Initialisierer hinzu

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

Aktiver Modellserialisierer für Building

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

Resultierendes JSON

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

Dies ist ein Monkey-Patch, der von brentkirby vorgeschlagen wird und aktualisiert für Mongoid 4 von arthurnn