gpt4 book ai didi

Mongoid 3 - 检查复合键的唯一性

转载 作者:行者123 更新时间:2023-12-01 11:00:07 25 4
gpt4 key购买 nike

我切换到 Mongoid 3,这几乎没有什么不同 :) 目前我尝试检查复合字段是否唯一:

class Host
include Mongoid::Document

field :ip, :type => String
field :port, :type => Integer
field :username, :type => String
field :password, :type => String

validates_presence_of :ip
validates_presence_of :port
end

如何获取其中的 validates_uniqueness_of 来检查 ip 和 port 是否作为复合字段是唯一的?据我所知,在 Mongoid 2 中有一种方法可以基于多个字段创建一个新的 _id,但似乎在 Mongoid 3 中已将其删除:

  key :ip, :port

最佳答案

在 3 中删除了复合键支持,因为您现在可以轻松覆盖默认的 _id 字段并使用 lambda 设置默认值。尝试类似的东西:

class Host
include Mongoid::Document
field :_id, type: String, default: -> { ip + ":" + port }
...
end

然后您可以验证此 _id 字段的唯一性。

参见 Mongoid docs了解更多信息。

关于Mongoid 3 - 检查复合键的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856015/

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