我有一个带有User
和ID
字段的LoginName
结构,我希望这些结构可以通过单个调用DB来访问这些字段。我知道BoltDB不应该处理任意字段索引等(与SQL不同),但这种情况稍有不同,因为我事先知道将b作为索引使用的附加字段。
那么是否存在某种二级密钥或多密钥索引?或者是我看不到的一些策略?如果没有,那么我将只用两个电话实现它,我只是更喜欢“更清洁”的解决方案......
谢谢!
答案 0 :(得分:1)
BoltDB中没有辅助键索引,但您可以实现它。
您可以将ID存储到另一个存储桶中的LoginName映射,从技术上讲,它将是您的struct的“辅助键”。也就是说,首先从辅助密钥获取主键值,然后从用户结构中获取。
如果您的大多数调用都在LoginName项上,请使用LoginName到ID映射并在LoginName项下存储User结构,反之亦然。
小心:你必须保持自己的一致性,记住它。
答案 1 :(得分:1)