create unique fields feature
This commit is contained in:
@@ -104,6 +104,16 @@ go run main.go
|
||||
|
||||
Показана работа с кэшем для улучшения производительности чтения данных.
|
||||
|
||||
### Уникальные поля (UniqueFields)
|
||||
|
||||
Коллекции могут иметь поля с ограничением уникальности. При вставке и обновлении LineDB проверяет, что значение поля не дублируется:
|
||||
|
||||
```go
|
||||
UniqueFields: []string{"email"},
|
||||
```
|
||||
|
||||
Пустые значения (`nil`, `""`) не проверяются. При `SkipCheckExistingForWrite: true` проверка уникальности пропускается.
|
||||
|
||||
### Фильтрация
|
||||
|
||||
Демонстрируются различные способы фильтрации:
|
||||
|
||||
@@ -27,6 +27,7 @@ func main() {
|
||||
CollectionName: "users",
|
||||
AllocSize: 512,
|
||||
IndexedFields: []string{"id", "email", "name"},
|
||||
UniqueFields: []string{"email"},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -295,6 +295,7 @@ func testUniquenessCheck() {
|
||||
CollectionName: "unique_users",
|
||||
AllocSize: 256,
|
||||
IndexedFields: []string{"id", "email"},
|
||||
UniqueFields: []string{"email"},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user