Я работаю над простым приложением, написанным в golang, используя tiedot как механизм базы данных NoSQL. Мне нужно сохранить некоторых пользователей в базе данных.Как обеспечить уникальность свойства в записи NoSQL (Golang + tiedot)
type User struct {
Login string
PasswordHash string
Salt string
}
Конечно два пользователи не могут иметь один и тот же логин, и - как этот двигатель не обеспечивает механизм транзакций - мне интересно, как убедиться, что нет дублированного Войти в базе данных при записи.
Сначала я подумал, что могу просто найти пользователя по имени пользователя перед вставкой, но поскольку база данных будет , то использовать это, безусловно, ненадежно.
Возможно, я могу подождать случайное время, и если в коллекции есть другой пользователь с тем же именем, удалите его, но это тоже не так уж и звучит.
Возможно ли это, или я должен переключиться на механизм базы данных, поддерживающий транзакции?
Да, ты прав. Я уже перешел на back-end SQLite, так как не хотел тратить больше времени на попытку другого решения. Я чувствовал себя слишком уверенно в отношении 1000+ звезд на github, мой плохой ... Спасибо, что нашли время, чтобы ответить. – n00dl3