【发布时间】:2019-06-26 01:35:23
【问题描述】:
我正在尝试为文档中的数组字段创建唯一索引。这个索引应该像我有一个包含两个元素的数组的文档一样工作,然后如果我想添加一个新文档,其中数组字段如果包含这两个元素,那么应该发生重复错误 - 但不是在只有一个元素是的情况下在另一个数组中复制。 也许我会用这个例子来说明我的意思:
首先我创建一个简单的文档:
{
"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”重复的错误。 如上所示,是否可以在所有数组元素上创建唯一索引?
【问题讨论】:
标签: arrays mongodb collections mongodb-query