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