13. 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
14. 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 "
26. Mongoid
Mongoid c’est aussi ?
Association entre collection
has many :orders
belongs to :user
27. Mongoid
Mongoid c’est aussi ?
class User
include Mongoid :: Document
has_many : posts
end
class Post
include Mongoid :: Document
belongs_to : user
end
28. 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 >]
29. Mongoid
Mongoid c’est aussi ?
Association des documents
embarqu´s
e
embeds many :comments
embedded in :post
30. Mongoid
Mongoid c’est aussi ?
class Post
include Mongoid :: Document
embeds_many : comments
end
class Comment
include Mongoid :: Document
embedded_in : post
end
31. 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 f 0 7 c 2 4 4 4 f d 9 9 4 7 a 7 0 0 0 0 0 2
}]
}
32. Mongoid
Mongoid c’est aussi ?
Criteria
Model.where Model.asc
Model.all in Model.desc
Model.any in Model.limit
Model.any of Model.only