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

我正在使用$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]不是正确的表示,我尝试的一切似乎都失败了。


12345678_0001
浏览 194回答 1
1回答

慕的地10843

您可以使用类型切片来表示这些值[]interface{}:    l := []interface{}{"$dt", 0, 6}如果你觉得语法有点脏,你可以很容易地定义一个本地类型,让它看起来更好:    type list []interface{}    l := list{"$dt", 0, 6}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go