首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在BoltDB中使用两个单独的键

在BoltDB中使用两个单独的键
EN

Stack Overflow用户
提问于 2016-03-20 08:35:49
回答 2查看 690关注 0票数 1

我有一个User结构,包含IDLoginName字段,我希望这些字段中的任何一个都可以通过对DB的单次调用来访问这个结构。我知道,BoltDB不应该处理任意字段、索引等(与SQL不同),但这种情况有点不同,因为我碰巧事先知道了作为索引的b的附加字段。

那么,是否有某种辅助键或多键索引?或者是我看不见的策略?如果没有,我会用两个调用来实现它,我只是更喜欢一个“更干净”的解决方案.

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-20 16:38:46

不,它不在那里。BoltDB很像Go。干净又简单。在上面盖一层很容易。BoltDB甚至允许简单地实现update事务,以便更多的两个桶可以被原子地更新,或者不更新。因此,创建一个保持两个或多个桶保持同步的update事务很容易。但听起来你知道这一点,只是想确认一下你没有遗漏什么。

票数 2
EN

Stack Overflow用户

发布于 2016-03-20 15:21:42

BoltDB中没有辅助密钥索引,但您可以实现它。

您可以在另一个桶中存储ID到LoginName映射,从技术上讲,它将是您的结构的“次要键”。也就是说,首先从辅助键获取主键值,然后从用户结构中获取主键值。

如果您的大部分调用都在LoginName键上,则使用LoginName进行ID映射,并将用户结构存储在LoginName键下,反之亦然。

要小心:你必须保持自己的一致性,记住这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36111698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档