Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Mongoid
Search
Cyril Mougel
January 17, 2013
Technology
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Mongoid
simple et rapide présentation de Mongoid
Cyril Mougel
January 17, 2013
More Decks by Cyril Mougel
See All by Cyril Mougel
Errbit, Pour dire c'est fix quand on vous remonte une erreur
shingara
0
120
Other Decks in Technology
See All in Technology
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
200
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.3k
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
WasmをRustにする
sansantech
PRO
0
250
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
3
490
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
860
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
1
150
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
190
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What's in a price? How to price your products and services
michaelherold
247
13k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
How to make the Groovebox
asonas
2
2.5k
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Evolving SEO for Evolving Search Engines
ryanjones
0
330
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Practical Orchestrator
shlominoach
192
12k
Transcript
Mongoid Mongoid Cyril Mougel 17 Janvier 2013
Mongoid Mongoid c’est ? 1 Mongoid c’est ? 2 Mais
MongoDB ? 3 Mongoid c’est aussi ?
Mongoid Mongoid c’est ? Qu’est ce que Mongoid ? Un
ODM Object Document Model ´ Ecrit en Ruby API comme ActiveRecord
Mongoid Mongoid c’est ? Exemple simple class User include Mongoid
:: Document end
Mongoid Mongoid c’est ? R´ esultat > user = User.new
=> #<User _id: 50 f07c2444fd9947a7000001 , _type: nil >
Mongoid Mongoid c’est ? D´ efinition des champs
Mongoid Mongoid c’est ? class User include Mongoid :: Document
field :first_name field :last_name end
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"
Mongoid Mongoid c’est ? Gestion de la Coercion
Mongoid Mongoid c’est ? class User include Mongoid :: Document
field :first_name , :type => String field :last_name , :type => String end
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"
Mongoid Mongoid c’est ? Gestion d’un valeur par d´ efaut
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
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"
Mongoid Mongoid c’est ? Multiple Type de base
Mongoid Mongoid c’est ? BigDecimal Boolean Integer String Symbol Float
Date DateTime Time Array Hash
Mongoid Mais MongoDB ? 1 Mongoid c’est ? 2 Mais
MongoDB ? 3 Mongoid c’est aussi ?
Mongoid Mais MongoDB ? Base NoSQL NoSQL == Not Only
SQL
Mongoid Mais MongoDB ? Base de donn´ ee orient´ e
document stockage sous format BSON BSON == Binary JSON
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
Mongoid Mais MongoDB ? Pas de jointure
Mongoid Mais MongoDB ? Query Op´ erator $in $nin $or
$gt $lt etc..
Mongoid Mongoid c’est aussi ? 1 Mongoid c’est ? 2
Mais MongoDB ? 3 Mongoid c’est aussi ?
Mongoid Mongoid c’est aussi ? Include ActiveModel Gestion des erreurs
Gestion des callbacks
Mongoid Mongoid c’est aussi ? Gestion des associations
Mongoid Mongoid c’est aussi ? Association entre collection has many
:orders belongs to :user
Mongoid Mongoid c’est aussi ? class User include Mongoid ::
Document has_many :posts end class Post include Mongoid :: Document belongs_to :user end
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 >]
Mongoid Mongoid c’est aussi ? Association des documents embarqu´ es
embeds many :comments embedded in :post
Mongoid Mongoid c’est aussi ? class Post include Mongoid ::
Document embeds_many :comments end class Comment include Mongoid :: Document embedded_in :post end
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 }] }
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
Mongoid Mongoid c’est aussi ? Les criterias sont chainable
Mongoid Mongoid c’est aussi ? Les criterias sont ´ evalu´
es de mani` ere lazy
Mongoid Mongoid c’est aussi ? Finder Model.all Model.first Model.last Model.exists
? Model.find
Mongoid Mongoid c’est aussi ? Moped MongoDB driver d´ evelopp´
e par la communaut´ e Mongoid Gestion plus threadsafe par session
Mongoid Mongoid c’est aussi ? Plus d’information ? RTFM http
://mongoid.org