我有一个 Golang 项目,我使用 Bolt 作为我的数据库。我找到并开始使用这个项目来处理数据库的连接和操作。我目前的问题是我无法通过一个字段进行搜索并得到一个结果。
我在 Golang 中的结构定义是:
type Component struct {
ID int `storm:"increment"`
Name string `storm:"id,unique"` // primary key
Cars []string `storm:"index"` // this field will be indexed
Houses []string `storm:"index"` // this field will be indexed
Pets []string `storm:"index"` // this field will be indexed
Children []string `storm:"index"` // this field will be indexed
Level int
}
起初,我知道有一个字段 ID 和一个带有标签id的字段 Name 很奇怪,问题是我希望名称作为 id 并且可能作为键。我做了一些插入,一切都很好,我什至检索了所有的值,它工作得很好。现在,我想用他的名字得到一个元素,我有这个:
name := "someComponent"
var component models.Component
err := db.One("Name", name, &component)
但它会返回not found
,但我知道一个组件是以该名称存储的。另一方面,如果我进行搜索,Find
我会得到元素,但该命令会返回许多结果,而我只想要一个,我有这个:
var components []models.Component
err := db.Find("Name", name, &components)