问题标签 [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.
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 文档中确实有内容。我不知道为什么数据会消失。
我该如何解决这个错误?谢谢。
go - 如何使用 mongo-go-driver 0.2.0 在 bson.A 中使用切片的元素
如何使用给定的切片来生成 bson.A?我需要这个来进行动态查询。
我正在从 mongo-go-driver alpha 升级到 beta 0.2.0,这已经成为我项目中的一个重大变化,因为现在 API 不同了。
mongodb - 带有 mongodb-go-driver 的 Marshal/Unmarshal 自定义类型
所以我正在尝试官方的 mongodb go 驱动程序(之前使用过 mgo),但我被卡住了。我正在尝试编组/解组自定义类型,默认情况下这显然不起作用。文档有点缺乏。基本上我想做的是:
有没有办法做到这一点,或者它现在完全没有这个功能?我知道它仍然是一个测试版,但那里没有太多替代品。
编辑:
例如我想做的事情:
我得到的错误是:no decoder found for Z
测试示例:
go - 如何在 Go 中习惯性地将数据库访问转换为函数
我在 Go 中构建了一个后端 API,它可以工作,但是我想将 DB 访问层的代码重构为一个函数 - 惯用。
我知道当我稍后在代码中使用客户端局部变量时,我可以创建一个返回 (*mongoClient, err) 的方法。
但是,我不知道如何实现该defer cancel()
部分,因为它在方法CreateStudenAccountEndpoint
结束时执行。但是我不知道如何defer
在一种方法中实现本节,该方法将认识到我希望延迟发生在调用 DB 访问层方法的函数的末尾,例如CreateStudentAccountEndpoint
,而不是实际的 db 访问方法本身。
database - Mongo-Go-Driver 连接失败
所以我正在尝试使用https://github.com/mongodb/mongo-go-driver连接到 golang 中的 mongo 数据库。
这是我的连接处理程序:
我得到的错误是:
所以我尝试用这样uri
的连接字符串替换:
但我仍然得到错误。
将此与文档中的内容进行比较:
而且完全一样!我真的不确定为什么会出现这个错误。有任何想法吗?
go - 无法使用 mongo-go-driver 解码驼峰式字段
我正在使用这样的结构
然后使用查询数据
我得到的结果是
除了驼峰式字段外,大多数数据都已填充,当我从控制台查询时,数据就在那里
我不明白为什么要全部小写。还是我错过了什么?
mongodb - 如何导入 go 的 mongo-driver bson
我用 安装了 mongo go 驱动程序go get go.mongodb.org/mongo-driver/...
,但是每当我尝试使用bson.EC
或在这里bson.NewDocument
看到时,我都会收到错误:和. 我在这里想念什么?undefined: bson.NewDocument
undefined: bson.EC
mongodb - 通过 mongodb-go-driver 中的子字符串正则表达式查询查找条目
我无法让官方 go mongo 驱动程序成功返回通过正则表达式查询查询的对象。
我已经知道如何通过 mongo shell 进行操作并获得预期的结果。通过这个例子,我得到了所有在“文本”字段中包含“他”的条目:
与此相同:
这是我当前不起作用的代码:
根据官方 mongo-go-driver 存储库中的示例,这应该可以工作。
我当前在集合中的条目只包含 2 个字段,id 字段和一个额外的文本字段。我目前有 3 个条目。看起来像这样:
我对上面代码的预期结果应该是前两个条目。相反,我得到一个空光标。
有谁知道,我做错了什么?谢谢你的帮助。
mongodb - 使用 FindAndModify 在官方 Mongo Go Driver 中运行查询
在社区驱动的 Go 的 Mongo 驱动程序中,即 Mgo,我们可以使用Apply
API 调用来运行涉及$set
or的 MongoDB 查询$inc
。Mgo 中此用例的示例如下:
引用此 API 调用的官方文档:
Apply 运行 findAndModify MongoDB 命令,该命令允许更新、更新插入或删除与查询匹配的文档,并自动返回文档的旧版本(默认)或新版本(当 ReturnNew 为 true 时)。
我目前正在将一个项目从Mgo移植到官方 Mongo Go 驱动程序。但是,我找不到任何运行 findAndModify 命令来实现类似用例的方法。要使用官方驱动程序中的相关方法替换 Apply API,推荐的方法是什么?
我考虑过检查现有代码中“更新”下的查询,并手动使用官方驱动程序中提供的查找/更新/替换方法。但是,有没有更好的方法来做同样的事情?