如何在Gogo的MGO mongo db驱动程序中获取我的文档的ObjectId(_id)

Velidan:

我正在与MGO合作(因为没有找到比它更好的了)。我已经玩过它并获得了一些结果,但是我不明白如何获取收到的文档的_id(内部Mongo ObjectId)?

例如:

type FunnyNumber struct {
    Value int
    _id string
}

session, err := mgo.Dial("127.0.0.1:27017")
if err != nil {
    panic(err)
}
defer session.Close()

// Optional. Switch the session to a monotonic behavior.
session.SetMode(mgo.Monotonic, true)

c := session.DB("m101").C("funnynumbers")

funnynumber := FunnyNumber{}
err = c.Find(bson.M{}).One(&funnynumber)
if err != nil {
    log.Fatal(err)
}

fmt.Println("Id one:", funnynumber._id)  // Nothing here? WHy? How to get it.
fmt.Println("Value one:", funnynumber.Value)  // 62. It's OK!

有人可以帮我吗?我在哪里可以读到一些相关信息?我尚未在MGO文档中找到任何内容

我的文档的架构是:

{ "_id" : ObjectId("50778ce69331a280cf4bcf90"), "value" : 62 }

谢谢!

Himanshu:
  1. _id变量更改为大写(ID)以使其可导出。
  2. 使用bson.ObjectID它的类型。
  3. 为struct FunnyNumberId变量添加标签领域

为了获得对象ID值,应完成上述三件事。

import "labix.org/v2/mgo/bson"

type FunnyNumber struct {
    Value int `json:"value"`
    Id bson.ObjectId `bson:"_id,omitempty"`` // only uppercase variables can be exported
}

查看BSON软件包,以更深入地了解在使用mongodb时如何使用bson标签

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用MongoClient类从Mongo Java驱动程序调用db.Collection.stats()

如何使用Mongo DB JAVA驱动程序从MongoDB中的数据库删除集合?

将Java驱动程序用于mongo db时,如何限制结果数?

如何使用Java驱动程序更新mongo db中的文档字段?

将与Mongo Go官方驱动程序mongo-go-driver(mgo中的session.SetMode)的会话的一致性规则设置为单调

如何使用mgo包在Go中编写$ subtract mongo查询?

如何通过mgo获取未知的mongo文档

如何使用Mongo Java驱动程序@BsonCreator批注?

如何使用golang mgo MongoDb驱动程序获取最后插入的ObjectId

如何从Mongo Java驱动程序调用db.Collection.stats()

如何在新的mongo C#驱动程序中执行findAll并使之同步

如何使用Mongo Java驱动程序3.0+检查集合中是否存在文档

如何使用带有Mongo C#驱动程序2.3的Mongo.Driver.Linq返回带有筛选的子文档的文档?

在Mongo Server 4.0上的C#驱动程序2.7.0中如何执行db.collection.explain()?

如何使用Mongo DB驱动程序在列表中执行更新或删除

如何在C#Mongo DB驱动程序中过滤数组元素

Mongo C ++驱动程序-如何更改超时配置

如何使用C#驱动程序从现有索引中创建Mongo索引定义?

如何使用C#mongo驱动程序达到与python中的PyMongo相同的性能?

如何在Mongo DB中合并文档数组

如何在Mongo DB中合并数组和文档字段

如何在Mongo DB中使用Java驱动程序创建GeoJSON对象

我该如何搜索db.collection.find({foo:/ ^ bar $ / i}); 在mongo上,但使用Mongo Java驱动程序

mongo-cxx-driver-新的C ++ 11驱动程序-如何从二进制数据创建文档

Mongo db c# 驱动程序 - 如何通过 id 加入集合?

如何在不使用 Builders 的情况下使用 .net(c#) 驱动程序更新 mongo db 中的文档?

如何在 Mongo Stitch 函数中生成 Mongo ObjectId?

如何使用 mongo 驱动程序在 Golang 中实现 MongoDB 自动完成?

如何在mongo Db中增加文档数组中的字段?