V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Zach369
V2EX  ›  程序员

如何使用 Threft struct 定义 mgo 的 objectId?

  •  
  •   Zach369 · 2020-04-02 23:41:28 +08:00 · 1506 次点击
    这是一个创建于 1696 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我遇到了这样一个问题:

    我需要生成的 go struct 是:

    type Base struct {
    	ID bson.ObjectId `bson:"_id" json:"id,omitempty"`
    }
    
    

    但是 thrift,我不知道怎么写?

    struct Base {
        1:?  ID (go.tag = 'bson:"_id" json:"id,omitempty"')
    }
    
    

    bson.ObjectId 是 github.com/globalsign/mgo/bson 的内容

    有使用过 threft 生成 go 的 struct 的吗? mongodb 的 objectId 如何处理那?

    4 条回复    2020-04-03 10:41:40 +08:00
    tairan2006
        1
    tairan2006  
       2020-04-02 23:44:36 +08:00 via Android
    大哥错别字太多了吧…用 string 就行
    whalegao
        2
    whalegao  
       2020-04-03 00:11:41 +08:00 via iPhone
    自己定义一个就行了
    Zach369
        3
    Zach369  
    OP
       2020-04-03 09:35:02 +08:00
    @tairan2006 额 昨天写的有的急 ,,,,, 确实错别字有点多...... 不过我用 string 生成 string 的 id mgo 插入的时候报错



    @whalegao 能说下具体怎么做吗? 自己定义, 就得实现这个生成 id 的方法啊
    tairan2006
        4
    tairan2006  
       2020-04-03 10:41:40 +08:00
    @Zach369 string 和 ObjectId 可以相互转换的,你 insert 的时候不用指定 id,让 mongo 自动生成;读取的时候把 ObjectId 转给客户端。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2752 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:56 · PVG 17:56 · LAX 01:56 · JFK 04:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.