我有以下(使用mongoid):
class FacebookUser
include Mongoid::Document
include Mongoid::Timestamps
field :uid, type: String
field :friends, type: Array
end
我正在使用mongoid,我想知道是否将facebook_ids和facebook_ids_of_friends(Array)存储为BigDecimal,Integer或String。我将使用uid查询,所以我有点担心速度。
OR:
class FacebookUser
include Mongoid::Document
include Mongoid::Timestamps
field :uid, type: Integer
field :friends, type: Array #???How do I get this to store ints instead of strings
end
为了避免重复投掷,我相信第一种选择更好但是想获得另一种观点?另外,如果我使用选项2,我将如何使用Integer存储数组?
答案 0 :(得分:2)
使用字符串。使用数字类型的唯一原因是您将对数据进行计算。尝试添加两个用户ID是没有意义的,因此不应将它们存储为整数。
答案 1 :(得分:1)
试试这个
class FacebookUser
identity :type => String
end
由于行identity :type => String
,您的模型ID将变为String类型,您可以直接在其中保存Facebook用户ID(uid),而不是创建新字段。查找用户等查询非常简单快捷
例如
找一个用户
FacebookUser.find(facebook user id)