使用mgo
,似乎最佳实践是将对象 ID 设置为bson.ObjectId
。
这不是很方便,因为结果是string
id 以二进制形式存储在数据库中,而不是普通的 id。谷歌搜索这似乎产生吨的问题,如“我怎么得到一个字符串出BSON ID吗?”,而其实在golang
存在Hex()
的方法ObjectId
,让你得到的字符串。
将数据从 mongo 导出到另一个数据库平台时,bson 变得更加烦人(在处理收集的大数据并且您希望将其与后台 mongo DB 中的某些属性合并时就是这种情况),这意味着很多痛苦(您需要将二进制 ObjectId 转换为字符串,以便在不使用 bson 表示的不同平台中加入 id)。
我的问题是:使用bson.ObjectId
vs string
id 有什么好处?如果我mongo
使用纯字符串 id存储我的实体,我会丢失任何重要的东西吗?
慕哥6287543
相关分类