MongoDB 中的 UUID 字段使用 Rails 和 mongoid

UUID field in MongoDB using Rails and mongoid

我需要一个 uuid 字段。 我知道,Mongo 具有本机 UUID 支持和 UUID 功能。 我想要这样的东西

field :uuid, type: String, default: 'UUID()'

当然,在这种情况下,它只是 'UUID()' 字符串。

有没有办法在创建记录时真正执行此功能? ActiveRecord 中有类似的功能。

尝试 before_save:

class MyModel
  include Mongoid::Document
  before_save :generate_uuid  
  field :uuid,  type: String  
 
  def generate_uuid
    code_to_generate_uuid
  end
 end

尽管 BSON::ObjectId 几乎是一个 UUID,所以这可能有点矫枉过正