gpt4 book ai didi

ruby-on-rails - Moped::BSON::ObjectId 或 Rails 模型中父 ID 的字符串?

转载 作者:行者123 更新时间:2023-12-02 21:58:56 24 4
gpt4 key购买 nike

我是 MongoDB 和 Mongoid 的新手,在我的 Rails (3.2.13) 应用程序中使用 Mongoid 3.1.4。我在旧代码中看到人们在引用模型的某处同时使用 type: Moped::BSON::ObjectIdtype: String

示例

class Team
include Mongoid::Document

field :room_id, type: String
field :leader_id, type: Moped::BSON::ObjectId

...
end

(使用gitblame我知道这两行是由两个不同的人写的)

我进行了搜索,但没有找到何时/为什么使用什么类型这个问题的答案? StringMoped::BSON::ObjectId

谢谢

最佳答案

两者都有点奇怪,您通常会建立关系,而不是直接将 id 存储为字符串或 ObjectId:

class Team
include Mongoid::Document

belongs_to :room
belongs_to :leader

...
end

这还允许您通过调用 room_id 或 Leader_id 直接读取 id。欲了解更多信息,请查看http://mongoid.org/en/mongoid/docs/relations.htmlhttp://two.mongoid.org/docs/relations.html

如果我必须在两者之间进行选择,我会存储 ObjectId 而不是字符串,这样会占用更少的存储空间。

关于ruby-on-rails - Moped::BSON::ObjectId 或 Rails 模型中父 ID 的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17283907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com