で文書を埋め込む:春データのMongoDB - 私は、次のコレクションを定義している@Indexed(真=ユニーク)
@Document(collection="sectors")
public class Sector {
private final String id = null;
@Indexed(unique=true)
private String name;
}
@Document(collection="companies")
public class Company {
@Id
private UUID uid;
@Indexed(unique=true)
private String nif;
private String name;
private List<Sector> sectors = new ArrayList<>();
}
私は同じ分野で両社を挿入しようとするならば、私は 'E11000 duplicate key error index: fake.companies.sectors.name dup key : {[[sector1, sector2]] }';
を取得しています
セクタから@Indexed(unique=true)
をコメントアウトしています。なぜこれが起こるのですか?バグですか?私はセクターエンティティを名前で一意に索引付けし、2つの企業は同じセクターを共有することに問題がないようにしたい。
インデックスの仕組みです。それらは、単一の文書ではなく、コレクション内の文書間でユニークです。 [説明](https://docs.mongodb.com/manual/core/index-unique/#unique-constraint-across-separate-documents)と[回避策](https://jira.mongodb.org/browse)を見てください。/SERVER-1068) – Veeram
@Veeramああ、まあ、それは吸う。 ty – anat0lius