做不好设定的MongoDB的ID为整数
问题描述:
我想用整数值ID,所以我在我的模型更新,以这样的:做不好设定的MongoDB的ID为整数
class Word
include Mongoid::Document
field :id, type: Integer
field :name, type: String
before_create :assign_id
private
def assign_id
self.id = Word.count.to_i + 1
end
end
唯一的缺点,我能想到的是,我必须确保我正确处理删除。因此,任何其他具有此id的表都会被更新,销毁。但除此之外它可以工作,但是可以通过这样做来解决问题吗?
答
不建议玩弄mongodb的_id属性,本质上是因为它比我们所设想的包含创建时间,主机等作为散列的信息更多,当然这是默认索引的。 更多的信息,您可以看到:
https://docs.mongodb.com/manual/reference/bson-types/#objectid
我们当然可以有我们的JSON文件中的另一个属性,我们可以作为一个整数序列使用。 尽管在覆盖系统生成的_id散列方面没有限制。
是的,使它简短..如果你这样做,你可能没有一个唯一的密钥来查找_id .in mongo我们没有任何主键,除了_id,直到我们将数据设置为唯一值 – Vignesh