【发布时间】:2021-04-05 21:33:14
【问题描述】:
我正在尝试在 mongodb 集合上实现唯一索引,其中列表中的子文档组合是唯一的。
允许: 允许以下权限,因为在另一个示例中还有 resourceID 不会损害唯一索引
{
"permission_name": "read",
"role_id": 1,
"value": "ALLOW",
"attributes": [{
"key": "folderID",
"value": "1"
}],
}
{
"permission_name": "read",
"role_id": 1,
"value": "ALLOW",
"attributes": [{
"key": "folderID",
"value": "1"
},
{
"key": "resourceID",
"value": "1"
}]
}
不允许: 以下条目在数据库中是两次
{
"permission_name": "read",
"role_id": 1,
"value": "ALLOW",
"attributes": [{
"key": "folderID",
"value": "1"
}],
}
但是当我使用以下方法创建索引时:
db.permissions.createIndex({"permission_name", "role_id", "attributes.key", "attributes.value"}, {unique: true}),那么我“允许”中的示例由于重复键而无法实现。
【问题讨论】: