我还是新手,虽然我在SO上看到了类似的多个问题,但是我无法重现一些OP所要求的输出(这个答案看起来最接近).
我正在做一些相当简单的事情,我正在使用usersmongo收集一个集合,而我想做的就是将_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"])
}
Run Code Online (Sandbox Code Playgroud)
今天这个输出:
ObjectIdHex("537f700b537461b70c5f0000")
ObjectIdHex("537f700b537461b70c600000")
ObjectIdHex("537f700b537461b70c610000")
ObjectIdHex("537f700b537461b70c620000")
Run Code Online (Sandbox Code Playgroud)
我浏览了bson #m docs,并认为我正确使用地图以增加价值.所以我认为,我的查询结果如下:
{"_id" : ObjectIdHex("Some_ID") }
Run Code Online (Sandbox Code Playgroud)
但是如果ObjectIdHex("ID")是值,我如何简单地在其中获取字符串.
如此理想的输出:
"537f700b537461b70c5f0000"
"537f700b537461b70c600000"
"537f700b537461b70c610000"
"537f700b537461b70c620000"
Run Code Online (Sandbox Code Playgroud)