如何通过go-tarantool从Tarantool按索引获取单个字段
从Tarantool获取单个字段的实现方案
可以实现只获取单个字段的需求,无需查询整行数据。go-tarantool的SelectRequest支持通过Fields()方法指定要返回的字段列表,这是Tarantool原生协议支持的功能,只会返回你指定的字段而非整行,性能和常规查询一致,不会产生额外开销。
修改后的代码示例
result := Result{} err := tConn.Do(tarantool.NewSelectRequest(spaceName). Context(ctx). Index("primary"). Key(tarantool.IntKey{I: id}). Fields([]interface{}{"field_name"}). // 指定要获取的单个字段 Limit(1), ).GetTyped(&result)
补充说明
Fields()的参数可以是字段名称(字符串),也可以是字段的位置索引(整数,从0开始计数),比如目标字段是第2个字段时,可写成Fields([]interface{}{1})。- 需保证
Result结构体的字段与你指定返回的字段匹配,这样GetTyped()才能正确解析结果。
内容的提问来源于stack exchange,提问作者nurbol nurbol
相关产品推荐
相关产品推荐

