【问题标题】:Mongoid embedded model index not workingMongoid 嵌入式模型索引不起作用
【发布时间】:2014-03-17 19:26:28
【问题描述】:

我有一家包含产品的公司:

class Company
  include Mongoid::Document
  include Mongoid::Timestamps

  embeds_many :products

  index({"products.code" => 1}, {sparse: true, unique: true})

end

但是当我使用相同的代码(例如“123”)创建产品(在同一个父级中)时,索引不会检查它的唯一性,它会正常创建。怎么了?

【问题讨论】:

    标签: ruby-on-rails mongodb mongoid mongoid4


    【解决方案1】:

    嵌入文档中不强制使用唯一索引。这里有一个开放的issue

    另外,请查看page,了解一些解决方法/方法来强制执行此操作。

    【讨论】:

    • 那么,索引将在查询中起作用,只是唯一性检查不起作用?我解决了这个问题,只是放入产品模型:validates_uniqueness_of:code,allow_blank:true。但它会进行额外的查询,我需要知道索引是否有效。
    • 是的,索引会起作用。只是不强制执行唯一性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 2012-09-04
    • 2019-04-25
    • 1970-01-01
    相关资源
    最近更新 更多