【发布时间】:2013-10-04 00:04:57
【问题描述】:
我正在使用来自 MongoDB 的 $substr 命令构建一个聚合管道查询,但我不知道如何使用 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] 不是正确的表示,我尝试的一切似乎都失败了。
【问题讨论】:
-
如果你得到的数据包含混合类型,通常最好为它推出一个结构。这为您提供了类型安全性,并使您的代码更易于他人理解。