为了账号安全,请及时绑定邮箱和手机立即绑定

如何表示具有混合类型的数组

如何表示具有混合类型的数组

Go
12345678_0001 2021-06-01 05:37:14
我正在使用$substr来自 MongoDB的命令构建聚合管道查询,但我不知道如何使用 mgo 驱动程序表示它在 Go 中所需的数组,因为它包含不同类型的值(字符串、整数)。这是javascript中的查询:[ {$group: {"_id": {"dt": {"$substr": ["$dt",0,6]}}}} ]它试图做的是获取dt(来自聚合的前一阶段)的子字符串,起始索引为 0,结束索引为 6。在 Go 中,我得到了:[]bson.M{"$group": bson.M{"_id": bson.M{"dt": bson.M{"$substr": ["$dt",0,6]}}}}}但["$dt",0,6]不是正确的表示,我尝试的一切似乎都失败了。
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

您可以使用类型切片来表示这些值[]interface{}:


    l := []interface{}{"$dt", 0, 6}

如果你觉得语法有点脏,你可以很容易地定义一个本地类型,让它看起来更好:


    type list []interface{}

    l := list{"$dt", 0, 6}


查看完整回答
反对 回复 2021-06-28
  • 1 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信