我正在使用$substrMongoDB中的命令构建聚合管道查询,但我不知道如何使用mgo驱动程序在Go中表示它所需的数组,因为它包含不同类型的值(字符串,整数).
这是javascript中的查询:
[ {$group: {"_id": {"dt": {"$substr": ["$dt",0,6]}}}} ]
Run Code Online (Sandbox Code Playgroud)
这是尝试做的是dt从起始索引0和结束索引6 得到(从前一阶段的聚合)的子串.
在Go我得到:
[]bson.M{"$group": bson.M{"_id": bson.M{"dt": bson.M{"$substr": ["$dt",0,6]}}}}}
Run Code Online (Sandbox Code Playgroud)
但["$dt",0,6]不是一个正确的表示,我尝试的一切似乎都失败了.
Gus*_*yer 13
您可以使用以下类型的切片表示这些值[]interface{}:
l := []interface{}{"$dt", 0, 6}
Run Code Online (Sandbox Code Playgroud)
如果您发现语法有点脏,您可以轻松定义本地类型以使其看起来更好:
type list []interface{}
l := list{"$dt", 0, 6}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1939 次 |
| 最近记录: |