我正在嘗試使用Ruby on Rails和Mongoid Mapper編寫示例應用程序。Mongoid創建新用戶
對於某些類型的測試,我想寫1000個Testusers到MongoDB中......
隨着代碼bolow Mongoid不能寫唯一的UID的。在我的紅寶石控制檯中,我得到了櫃檯的正確號碼,但不是用於uid。
有人知道我忘了什麼嗎?
class User
include Mongoid::Document
include Mongoid::Timestamps
def self.create_users
(1..1000).each do |f|
user = User.new(uid: f.to_s, first_name: "first_name", last_name: "last_name", e_mail: "e_mail")
user.save!
puts f
puts user.uid
end
end
field :uid, :type => String
field :first_name, :type => String
field :last_name, :type => String
field :e_mail, :type => String
field :messages, :type => String
attr_accessible :first_name, :last_name, :e_mail
validates_presence_of :uid, :first_name, :last_name, :e_mail
validates_uniqueness_of :uid
has_many :messages
end
是的,謝謝,但那絕對不是我想要使用的索引類型...例如:4f08d13945a36b20370048bf是我插入的最後一個用戶的ID ...謝謝你的回答,但是你知道爲什麼會發生這種情況嗎? ? – user934801 2012-01-07 23:25:51
你是什麼意思,「不是我想要使用的那種指數。」 ? MongoDb使用ObjectId類型作爲其「記錄」的「主鍵」,所以MongoId使用相同的類型。 – ema 2012-01-08 15:28:31