【发布时间】:2017-02-25 03:55:18
【问题描述】:
我正在开发一个用 golang 编写的简单应用程序,使用 tiedot 作为 NoSQL 数据库引擎。 我需要在数据库中存储一些用户。
type User struct {
Login string
PasswordHash string
Salt string
}
当然,两个用户不能有相同的登录名,而且 - 由于这个引擎不提供任何事务机制 - 我想知道在编写时如何确保数据库中没有重复登录。
我首先认为我可以在插入之前通过登录搜索用户,但因为数据库将是 同时使用,不可靠。
也许我可以等待一个随机时间,如果集合中有另一个用户使用相同的登录名,请将其删除,但这听起来也不可靠。
这是否可能,或者我应该切换到支持事务的数据库引擎?
【问题讨论】: