【发布时间】:2015-03-19 14:14:47
【问题描述】:
我还是新手,虽然我在 SO 上看到多个与此类似的问题,但我无法重现某些 OP 要求的输出 (this answer looking the closest)。
我正在做一些相当简单的事情,我在 mongo 中访问了一个 users 集合,我想要做的就是将 _id 值作为字符串返回。我最终会将这些_id 推到 NSQ 上,但这是我的首要任务。
var users []bson.M
err = sess.DB("db_name").C("users").Find(bson.M{}).All(&users)
if err != nil {
os.Exit(1)
}
for _, user := range users {
fmt.Printf("%+v \n", user["_id"])
}
今天这个输出:
ObjectIdHex("537f700b537461b70c5f0000")
ObjectIdHex("537f700b537461b70c600000")
ObjectIdHex("537f700b537461b70c610000")
ObjectIdHex("537f700b537461b70c620000")
我浏览了bson#m 文档并认为我正确地使用了地图以增加价值。所以我认为,我的查询结果是:
{"_id" : ObjectIdHex("Some_ID") }
但如果 ObjectIdHex("ID") 是值,我如何简单地获取其中的字符串。
如此理想的输出:
"537f700b537461b70c5f0000"
"537f700b537461b70c600000"
"537f700b537461b70c610000"
"537f700b537461b70c620000"
【问题讨论】: