create unique fields feature

This commit is contained in:
2026-03-03 14:44:47 +06:00
parent 1f31ab074b
commit f3f2b7b394
5 changed files with 128 additions and 4 deletions

View File

@@ -104,6 +104,16 @@ go run main.go
Показана работа с кэшем для улучшения производительности чтения данных.
### Уникальные поля (UniqueFields)
Коллекции могут иметь поля с ограничением уникальности. При вставке и обновлении LineDB проверяет, что значение поля не дублируется:
```go
UniqueFields: []string{"email"},
```
Пустые значения (`nil`, `""`) не проверяются. При `SkipCheckExistingForWrite: true` проверка уникальности пропускается.
### Фильтрация
Демонстрируются различные способы фильтрации:

View File

@@ -27,6 +27,7 @@ func main() {
CollectionName: "users",
AllocSize: 512,
IndexedFields: []string{"id", "email", "name"},
UniqueFields: []string{"email"},
},
},
}

View File

@@ -295,6 +295,7 @@ func testUniquenessCheck() {
CollectionName: "unique_users",
AllocSize: 256,
IndexedFields: []string{"id", "email"},
UniqueFields: []string{"email"},
},
},
}