教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 golang的MongoDB的主键转换成字符串

golang的MongoDB的主键转换成字符串

发布时间:2022-01-20   编辑:jiaochengji.com
教程集为您提供golang的MongoDB的主键转换成字符串等资源,欢迎您收藏本站,我们将为您提供最新的golang的MongoDB的主键转换成字符串资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg>

使用bson如下定义类型即可

<pre class="prettyprint"><code class="language-go hljs "><span class="hljs-keyword">type</span> Data <span class="hljs-keyword">struct</span> { Id bson.ObjectId <span class="hljs-string">`bson:"_id,omitempty"`</span> name <span class="hljs-typename">string</span> <span class="hljs-string">`bson:"name"`</span> }</code></pre>

注意不是json,_id的下划线不可少
反之,golang如何使用字符串的id查找mongodb呢,在shell终端中要使用ObjectId()函数来转换,比如:

<pre class="prettyprint"><code class="language-go hljs ">> db.ticket.find({<span class="hljs-string">"_id"</span>:Objectid(<span class="hljs-string">"b421c680fee8fa515201"</span>)})</code></pre>

在golang代码中要使用ObjectIdHex()转换字符串

<pre class="prettyprint"><code class="language-go hljs "> idList := <span class="hljs-built_in">make</span>([]bson.ObjectId, <span class="hljs-built_in">len</span>(req.Id)) <span class="hljs-keyword">for</span> i, id := <span class="hljs-keyword">range</span> req.Id { idList[i] = bson.ObjectIdHex(id) } sel := bson.M{<span class="hljs-string">"_id"</span>: bson.M{<span class="hljs-string">"$in"</span>: idList}} err := col.Find(sel).All(&rst) <span class="hljs-comment">//...</span></code></pre> 到此这篇关于“golang的MongoDB的主键转换成字符串”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
golang的MongoDB的主键转换成字符串
Ubuntu安装指定版本mongodb使用及卸载
Golang 标准库:strconv 包的应用
golang 切片 接口_Go指南8面对对象与接口
爬虫数据如何保存到mongoDB?
php字符串函数有哪些
Go安装、变量声明、strings模块
Golang遍历字符串输出中文乱码的解决办法
js字符串数组相互转换
PHP字符串函数与使用分析

[关闭]
~ ~