10

我正在使用$substr来自 MongoDB 的命令构建一个聚合管道查询,但我不知道如何使用 mgo 驱动程序表示它在 Go 中所需的数组,因为它包含不同类型的值(字符串、整数)。

这是javascript中的查询:

[ {$group: {"_id": {"dt": {"$substr": ["$dt",0,6]}}}} ]

这试图做的是获取dt(来自聚合的前一阶段)的子字符串,其起始索引为 0,结束索引为 6。

在围棋我得到:

[]bson.M{"$group": bson.M{"_id": bson.M{"dt": bson.M{"$substr": ["$dt",0,6]}}}}}

["$dt",0,6]不是正确的表示,我尝试的一切似乎都失败了。

4

1 回答 1

14

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

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

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

    type list []interface{}
    l := list{"$dt", 0, 6}
于 2013-09-27T17:12:55.940 回答