SlideShare a Scribd company logo
1 of 22
Download to read offline
Ruby et MongoDB ” dans la pratique” Yann Klis, Novelys #mongofr, 21/06/2010, @lacantine
#mongofr
Yann Klis Novelys Strasbourg Applications web Ruby Rails NoSQL User Group @Paris MySQL, Postgresql, Sphinx
RocketBlogging MasterSieve Seat Expériences avec MongoDB
Ruby Rails ActiveRecord SQL Prérequis Auditoire
Base de données Orienté Document Sans schéma NoSQL Requêtes complexes Map/Reduce Requêtes en Javascript MongoDB En bref
gem install mongo mongo 0.x = mongo + mongo_ext mongo 1.x = mongo + bson + bson_ext rmongo = eventmachine em-mongo = eventmachine + bson Driver Ruby Gem
mongo & mongo Console & Gem > db.leads.find({city: "BEGLES"}) > database.collection("leads").find(:conditions => {"city" => "BEGLES"})
ODM Object Document Mapper Mongoid, MongoMapper, etc. != ActiveRecord Mapper des objets Anciennement ORM
Mongoid 2.x pour Rails 3 Mongoid 1.x pour Rails 2 MongoMapper 0.8 ODM
Mongoid Déclaration et associations
MongoMapper Déclaration et associations
Mongoid Requêtes et autres - Criteria
MongoMapper Requêtes et autres – nouveautés dans 0.8 Plucky
Possibilités techniques Communauté Lisibilité du code Rails 3 ActiveModel Support Documentation (site web!) Mongoid vs MongoMapper Troll
Gems (celles faites par des gens biens) activemodel (!) devise, :version => ”1.1rc1” state_machine, :version => ”>= 0.9.2” carrierwave rspec, :version => ”2.0.0beta8” rspec-rails shoulda factory_girl
Gems (celles faites par des gens biens aussi, mais moins) paperclip ”Easy file attachment management for ActiveRecord” authlogic ”A simple model based ruby authentication solution.”
Modélisation Liste ? acts_as_list! Arbre ? awesome_nested_set! Pas de réponse automatique avec MongoDB
Modélisation
Quand on vient de AR 1/2 MongoDB est schemaless, pas notre appli Driver Ruby retourne des hashs dont les clés sont des strings Index Requêtes OR group ne renvoie que 10.000 résultats Id != ObjectID
Quand on vient de AR 2/2 On a toujours accès au driver Map/Reduce include ActiveModel::Serializers::Xml
Questions ? http://twitter.com/yannski http://blog.strasslab.net [email_address]

More Related Content

Viewers also liked

OSIRIS : Quand les collectivités innovent
OSIRIS : Quand les collectivités innoventOSIRIS : Quand les collectivités innovent
OSIRIS : Quand les collectivités innoventNovelys
 
Long Polling with Event Machine
Long Polling with Event MachineLong Polling with Event Machine
Long Polling with Event MachineNovelys
 
Dessine moi un développeur web (en 2010)
Dessine moi un développeur web (en 2010)Dessine moi un développeur web (en 2010)
Dessine moi un développeur web (en 2010)Novelys
 
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...Mark Rittman
 

Viewers also liked (6)

OSIRIS : Quand les collectivités innovent
OSIRIS : Quand les collectivités innoventOSIRIS : Quand les collectivités innovent
OSIRIS : Quand les collectivités innovent
 
NoSQL
NoSQLNoSQL
NoSQL
 
Long Polling with Event Machine
Long Polling with Event MachineLong Polling with Event Machine
Long Polling with Event Machine
 
Dessine moi un développeur web (en 2010)
Dessine moi un développeur web (en 2010)Dessine moi un développeur web (en 2010)
Dessine moi un développeur web (en 2010)
 
Hacking Business 3 : Pitch Deck
Hacking Business 3 : Pitch DeckHacking Business 3 : Pitch Deck
Hacking Business 3 : Pitch Deck
 
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...
Delivering the Data Factory, Data Reservoir and a Scalable Oracle Big Data Ar...
 

Similar to Ruby et MongoDB dans la pratique, MongoFR

Présentation mongoDB et mongoId
Présentation mongoDB et mongoIdPrésentation mongoDB et mongoId
Présentation mongoDB et mongoIdvtabary
 
Séminaire Ruby on Rails (novembre 2010)
Séminaire Ruby on Rails (novembre 2010)Séminaire Ruby on Rails (novembre 2010)
Séminaire Ruby on Rails (novembre 2010)Novelys
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoosejeromegn
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?benjguin
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloudstefounet
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?Microsoft
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Tugdual Grall
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01MongoDB
 
Linq et Entity framework
Linq et Entity frameworkLinq et Entity framework
Linq et Entity frameworkDNG Consulting
 
Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Clément Dubois
 
Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011Aurélien Maury
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLHervé Leclerc
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Yves-Emmanuel Jutard
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeMongoDB
 
Node.js, le pavé dans la mare
Node.js, le pavé dans la mareNode.js, le pavé dans la mare
Node.js, le pavé dans la mareValtech
 

Similar to Ruby et MongoDB dans la pratique, MongoFR (20)

Mongo db with C#
Mongo db with C#Mongo db with C#
Mongo db with C#
 
Présentation mongoDB et mongoId
Présentation mongoDB et mongoIdPrésentation mongoDB et mongoId
Présentation mongoDB et mongoId
 
Séminaire Ruby on Rails (novembre 2010)
Séminaire Ruby on Rails (novembre 2010)Séminaire Ruby on Rails (novembre 2010)
Séminaire Ruby on Rails (novembre 2010)
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
Node.js et MongoDB: Mongoose
Node.js et MongoDB: MongooseNode.js et MongoDB: Mongoose
Node.js et MongoDB: Mongoose
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Server Side Javascript in the cloud
Server Side Javascript in the cloudServer Side Javascript in the cloud
Server Side Javascript in the cloud
 
JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?JavaScript aussi sur le serveur et jusque dans le cloud?
JavaScript aussi sur le serveur et jusque dans le cloud?
 
Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)Introduction aux RIA (Rich Internet Applications)
Introduction aux RIA (Rich Internet Applications)
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
 
Linq et Entity framework
Linq et Entity frameworkLinq et Entity framework
Linq et Entity framework
 
Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)
 
Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011Grails from scratch to prod - MixIT 2011
Grails from scratch to prod - MixIT 2011
 
SSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQLSSL 2011 : Présentation de 2 bases noSQL
SSL 2011 : Présentation de 2 bases noSQL
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
NoSQL et Big Data
NoSQL et Big DataNoSQL et Big Data
NoSQL et Big Data
 
Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014Apéro techno node.js + AngularJS @Omnilog 2014
Apéro techno node.js + AngularJS @Omnilog 2014
 
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data LakeGestion des données d'entreprise à l'ère de MongoDB et du Data Lake
Gestion des données d'entreprise à l'ère de MongoDB et du Data Lake
 
Node.js, le pavé dans la mare
Node.js, le pavé dans la mareNode.js, le pavé dans la mare
Node.js, le pavé dans la mare
 
Ter Web Service Intro
Ter Web Service IntroTer Web Service Intro
Ter Web Service Intro
 

Ruby et MongoDB dans la pratique, MongoFR