问题标签 [mongo-go]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8608 浏览

mongodb - 如何将 BSON 文档转换为 map[string]interface{}

我试图将光标的数据解码为map[string]interface{},我直接尝试了但它根本不起作用,所以我发现我必须将它转换为BSON文档然后再转换它到 map[string]interface{},最后到 JSON 字符串。我尝试了以下代码:

但是 bson 文档具有以下价值:

map[_id:ObjectID("5c2d0809a49bad7d547ec028") applications:bson.Array[bson.Document{bson.Element{"enabled": true}}] userName:coto userUUID:df2d ea92-c189-53b3-aafe-485d0be23bee]

地图解析为 JSON:

{"_id":"5c2d0809a49bad7d547ec028","applications":[{}],"userName":"coto","userUUID":"df2dea92-c189-53b3-aafe-485d0be23bee"}

如您所见,关键的“应用程序”在 JSON 中是空的,但在 BSON 文档中确实有内容。我不知道为什么数据会消失。

我该如何解决这个错误?谢谢。

0 投票
3 回答
4891 浏览

go - 如何使用 mongo-go-driver 0.2.0 在 bson.A 中使用切片的元素

如何使用给定的切片来生成 bson.A?我需要这个来进行动态查询。

我正在从 mongo-go-driver alpha 升级到 beta 0.2.0,这已经成为我项目中的一个重大变化,因为现在 API 不同了。

https://godoc.org/github.com/mongodb/mongo-go-driver/bson

0 投票
1 回答
2200 浏览

mongodb - 带有 mongodb-go-driver 的 Marshal/Unmarshal 自定义类型

所以我正在尝试官方的 mongodb go 驱动程序(之前使用过 mgo),但我被卡住了。我正在尝试编组/解组自定义类型,默认情况下这显然不起作用。文档有点缺乏。基本上我想做的是:

有没有办法做到这一点,或者它现在完全没有这个功能?我知道它仍然是一个测试版,但那里没有太多替代品。

编辑:

例如我想做的事情:

我得到的错误是:no decoder found for Z

测试示例:

0 投票
1 回答
55 浏览

go - 如何在 Go 中习惯性地将数据库访问转换为函数

我在 Go 中构建了一个后端 API,它可以工作,但是我想将 DB 访问层的代码重构为一个函数 - 惯用。

我知道当我稍后在代码中使用客户端局部变量时,我可以创建一个返回 (*mongoClient, err) 的方法。

但是,我不知道如何实现该defer cancel()部分,因为它在方法CreateStudenAccountEndpoint结束时执行。但是我不知道如何defer在一种方法中实现本节,该方法将认识到我希望延迟发生在调用 DB 访问层方法的函数的末尾,例如CreateStudentAccountEndpoint,而不是实际的 db 访问方法本身。

0 投票
2 回答
9931 浏览

database - Mongo-Go-Driver 连接失败

所以我正在尝试使用https://github.com/mongodb/mongo-go-driver连接到 golang 中的 mongo 数据库。

这是我的连接处理程序:

我得到的错误是:

所以我尝试用这样uri的连接字符串替换:

但我仍然得到错误。

将此与文档中的内容进行比较:

而且完全一样!我真的不确定为什么会出现这个错误。有任何想法吗?

0 投票
1 回答
935 浏览

go - 无法使用 mongo-go-driver 解码驼峰式字段

我正在使用这样的结构

然后使用查询数据

我得到的结果是

除了驼峰式字段外,大多数数据都已填充,当我从控制台查询时,数据就在那里

我不明白为什么要全部小写。还是我错过了什么?

0 投票
2 回答
16082 浏览

mongodb - 使用 mongo go 驱动程序查找集合中的所有文档

我在这里查看了答案,但这使用了旧的和未维护的 mgo。如何使用 mongo-go-driver 查找集合中的所有文档?

我尝试传递一个nil过滤器,但这不会返回任何文档,而是返回nil. 我还检查了文档,但没有看到任何提及归还所有文档的内容。这是我尝试过的上述结果。

另外,我很困惑为什么我需要在集合上findOptions调用Find()函数时指定(或者我不需要指定?)。

0 投票
1 回答
1682 浏览

mongodb - 如何导入 go 的 mongo-driver bson

我用 安装了 mongo go 驱动程序go get go.mongodb.org/mongo-driver/...,但是每当我尝试使用bson.EC或在这里bson.NewDocument看到时,我都会收到错误:和. 我在这里想念什么?undefined: bson.NewDocumentundefined: bson.EC

0 投票
1 回答
5240 浏览

mongodb - 通过 mongodb-go-driver 中的子字符串正则表达式查询查找条目

我无法让官方 go mongo 驱动程序成功返回通过正则表达式查询查询的对象。

我已经知道如何通过 mongo shell 进行操作并获得预期的结果。通过这个例子,我得到了所有在“文本”字段中包含“他”的条目:

与此相同:

这是我当前不起作用的代码:

根据官方 mongo-go-driver 存储库中的示例,这应该可以工作。

我当前在集合中的条目只包含 2 个字段,id 字段和一个额外的文本字段。我目前有 3 个条目。看起来像这样:

我对上面代码的预期结果应该是前两个条目。相反,我得到一个空光标。

有谁知道,我做错了什么?谢谢你的帮助。

0 投票
1 回答
1231 浏览

mongodb - 使用 FindAndModify 在官方 Mongo Go Driver 中运行查询

在社区驱动的 Go 的 Mongo 驱动程序中,即 Mgo,我们可以使用ApplyAPI 调用来运行涉及$setor的 MongoDB 查询$inc。Mgo 中此用例的示例如下:

引用此 API 调用的官方文档

Apply 运行 findAndModify MongoDB 命令,该命令允许更新、更新插入或删除与查询匹配的文档,并自动返回文档的旧版本(默认)或新版本(当 ReturnNew 为 true 时)。

我目前正在将一个项目从Mgo移植到官方 Mongo Go 驱动程序。但是,我找不到任何运行 findAndModify 命令来实现类似用例的方法。要使用官方驱动程序中的相关方法替换 Apply API,推荐的方法是什么?

我考虑过检查现有代码中“更新”下的查询,并手动使用官方驱动程序中提供的查找/更新/替换方法。但是,有没有更好的方法来做同样的事情?