1

私は次のものを持っています(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 を使用するので、速度が多少気になります。

また:

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 を使用する場合、配列を整数で格納するにはどうすればよいですか?

4

2 に答える 2

2

文字列を使用します。数値型を使用する唯一の理由は、データに対して計算を行う場合です。2 つのユーザー ID を追加しようとするのは無意味なので、整数として保存しないでください。

于 2012-06-18T09:00:34.687 に答える
1

これを試して

class FacebookUser

    identity :type => String

end

モデルの id が文字列型になるためidentity :type => String、新しいフィールドを作成する代わりに、そこに facebook ユーザー id(uid) を直接保存できます。ユーザーの検索などのクエリは、非常に簡単かつ高速になります

例えば

1 人のユーザーを見つける

FacebookUser.find(facebook user id)
于 2012-06-14T05:41:25.787 に答える