13、使用Mongoid对Ruby进行建模

使用Mongoid对Ruby进行建模

在使用Mongoid对Ruby类进行建模时,我们会遇到各种关系设置和模型管理的问题。下面将详细介绍相关内容。

1. 关系设置
1.1 类别与书籍关系

在Mongoid中,类别(Category)和书籍(Book)之间的关系设置可能会出现一些特殊情况。例如:

irb> c
 => #<Category _id: 4ef5b48efed0eb8d17000001, _type: nil, name: 
"Drama", 
book_ids: [BSON::ObjectId('4ef5ab79fed0eb89bf000002')]>
irb> b
 => #<Book _id: 4ef5ab79fed0eb89bf000002, _type: nil, title: nil, 
publisher: "Dover Publications", 
category_ids = [], 
category_name: "Oliver Twist">

可以注意到,在Book对象中,反向关系未设置。也就是说,由于 inverse_of nil ,本应包含类别对象ID的数组为空。只有当使用书籍更新类别对象时, category_ids 才不会更新。如果使用类别更新书籍,即 b.categories << c ,那么Book对象中的 categor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值