假设我有一个记录品牌间相关值的集合(从不明白如何生成或解释这种相关性。)然后,此集合中的字段将包括:' brand1',' brand2& #39;和'相关'
为了举个示例,我们假设品牌可以使用字符串值,例如" google"," microsoft"等等,以便每个文档记录各种品牌名称之间的相关性。
我想在' brand1'上创建一个独特的索引。和' brand2'字段,以便每个文档仅在集合中记录一对品牌之间的相关性。为此,在确定集合中的唯一性时,必须考虑索引中键的顺序。 [' google',' microsoft']的关键应该被认为与[' microsoft',' google']的密钥相同,如果文件已经与前一个密钥一起存在,则禁止插入带有后一个密钥的文档。
这种指数可能吗?
答案 0 :(得分:1)
无法对MongoDB集合强制执行这种约束。
但是,您可以执行的操作是在软件中强制执行约束,此索引的两个组件始终按排序顺序存储。 (例如,始终存储["a","b"]
,而不是["b","a"]
。)这样就可以使集合中只有一个“规范”版本。