我想创建一个文档中数组字段的唯一索引。这个索引应该像这样工作:当我有一个包含两个元素的数组的文档时,如果我想要添加一个新的文档,其中数组字段包含这两个元素,则会发生重复错误 - 但是不会在另一个数组中重复一个元素的情况下发生。
也许我可以展示一下我的意思:
首先我创建一个简单的文档:
{
"name" : "Just a name",
"users" : [
"user1",
"user2"
]
}
我希望在“用户”数组字段上创建唯一索引。我想要的结果是能够创建另一个类似于以下文档的文档:
{
"name" : "Just a name",
"users" : [
"user1",
"user3"
]
}
或者
{
"name" : "Just a name",
"users" : [
"user2",
"user5"
]
}
但是创建第二个应该是不可能的:
{
"name" : "Just a name",
"users" : [
"user1",
"user2"
]
}
或者反过来:
{
"name" : "Just a name",
"users" : [
"user2",
"user1"
]
}
但是这是不可能的,因为Mongo会给我一个错误提示,指出"users1"是重复的。 是否可以在上述所有数组元素上创建唯一索引?