Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mongoid

 Mongoid

simple et rapide présentation de Mongoid

Avatar for Cyril Mougel

Cyril Mougel

January 17, 2013

More Decks by Cyril Mougel

Other Decks in Technology

Transcript

  1. Mongoid Mongoid c’est ? 1 Mongoid c’est ? 2 Mais

    MongoDB ? 3 Mongoid c’est aussi ?
  2. Mongoid Mongoid c’est ? Qu’est ce que Mongoid ? Un

    ODM Object Document Model ´ Ecrit en Ruby API comme ActiveRecord
  3. Mongoid Mongoid c’est ? R´ esultat > user = User.new

    => #<User _id: 50 f07c2444fd9947a7000001 , _type: nil >
  4. Mongoid Mongoid c’est ? > user = User.new(: first_name =>

    123, :last_name => "Mougel") => #<User _id: 50 f07c4c44fd9947a7000003 , _type: nil , first_name: 123, last_name: "Mougel"> > user.first_name => 123 > user.last_name => "Mougel"
  5. Mongoid Mongoid c’est ? class User include Mongoid :: Document

    field :first_name , :type => String field :last_name , :type => String end
  6. Mongoid Mongoid c’est ? > user = User.new(: first_name =>

    123, :last_name => true) => #<User _id: 50 f07c4c44fd9947a7000003 , _type: nil , first_name: "123" , last_name: "true"> > user.first_name => "123" > user.last_name => "true"
  7. Mongoid Mongoid c’est ? class User include Mongoid :: Document

    field :first_name , :type => String field :last_name , :type => String field :location , :type => String , :default => "Nantes" end
  8. Mongoid Mongoid c’est ? > user = User.new => #<User

    _id: 50 f07cbc44fd9947a7000004 , _type: nil , first_name: nil , last_name: nil , location: "Nantes"> > user.first_name => nil > user.location => "Nantes"
  9. Mongoid Mais MongoDB ? 1 Mongoid c’est ? 2 Mais

    MongoDB ? 3 Mongoid c’est aussi ?
  10. Mongoid Mais MongoDB ? Base de donn´ ee orient´ e

    document stockage sous format BSON BSON == Binary JSON
  11. Mongoid Mais MongoDB ? Base de donn´ ee orient´ e

    document Cr´ eation automatique du sch´ ema Pas d’obligation d’homog´ en´ eit´ e des documents
  12. Mongoid Mongoid c’est aussi ? 1 Mongoid c’est ? 2

    Mais MongoDB ? 3 Mongoid c’est aussi ?
  13. Mongoid Mongoid c’est aussi ? class User include Mongoid ::

    Document has_many :posts end class Post include Mongoid :: Document belongs_to :user end
  14. Mongoid Mongoid c’est aussi ? > user = User.new >

    user.posts = [ Post.new ] > user.save > user => #<User _id: 50 f07c2444fd9947a7000001 , _type: nil > > user.posts => [#<Post _id: 50 f07c2444fd9947a7000002 , _type: nil >]
  15. Mongoid Mongoid c’est aussi ? class Post include Mongoid ::

    Document embeds_many :comments end class Comment include Mongoid :: Document embedded_in :post end
  16. Mongoid Mongoid c’est aussi ? > user = User.new >

    user.comments = [ Comment.new ] > user.save > user => #<User _id: 50 f07c2444fd9947a7000001 , _type: nil > { ’_id’: 50 f07c2444fd9947a7000001 , ’comments ’: [{ ’_id’: 50 f07c2444fd9947a7000002 }] }
  17. Mongoid Mongoid c’est aussi ? Criteria Model.where Model.all in Model.any

    in Model.any of Model.asc Model.desc Model.limit Model.only
  18. Mongoid Mongoid c’est aussi ? Moped MongoDB driver d´ evelopp´

    e par la communaut´ e Mongoid Gestion plus threadsafe par session