问题标签 [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 投票
1 回答
293 浏览

mongodb - 将 json 参数转换为 bson 用于 mongo-go-driver 中的 UpdateOne

我正在尝试使用库UpdateOnemongo-go-driver但这种方法需要 bson 文档。我给它一个接口参数(json)。

我的问题是找到将我的 json 请求解析为 bson 以动态更新字段的最佳方法。谢谢你。

我收到此错误:

0 投票
0 回答
1277 浏览

mongodb - 如何在 mongo-go-driver 中使用接口类型作为模型?

此代码工作成功。

但我不想写 MarshalBSON 函数。

就像在mgo驱动程序中一样:如何在mgo(Go)中使用接口类型作为模型?

似乎只有 UnmarshalBSON 功能是必要的。

但是当我在 mongo-go-driver 中删除 MarshalBSON 时,出现错误“找不到 code_test.IGetter 的编码器”


在找到一个好的解决方案之前,我使用这段代码来解决问题......

0 投票
1 回答
2010 浏览

mongodb - MongoDB在Go中列出具有给定前缀的数据库

问题

如何仅列出具有给定前缀 ( prefix_) 的数据库?

例子:

输出:

[admin bar config local prefix_bar prefix_foo]

预期输出:

[prefix_bar prefix_foo]

奖金:

  1. struct在我的情况下,可以在不定义 new 的情况下创建数据库foo吗?
  2. 我的目标是仅在带有前缀的数据库上运行查询,因此可能存在比列出 dbs 然后在每个数据库上运行查询更好的解决方案?
0 投票
1 回答
980 浏览

mongodb - 带有重试的 Mongo 驱动程序事务实现

我正在尝试在 mongodb 中构建事务,其重试功能类似于 nodejs 等其他驱动程序。这是我当前的实现

如果它是一个特定的错误类型,我该如何重试事务?

此外,我们是否需要在每次提交失败或返回错误时自动取消事务时中止事务?

我找不到很多关于如何实施这项权利的例子

0 投票
2 回答
960 浏览

mongodb - mongo-go-driver 的 clientOptions 的默认值是什么?

我试图为 mongo-go-driver 搜索 clientOptions 的默认值。

我正在尝试通过以下方式启动新客户端:

我想知道 ConnectTimeout、MaxPoolSize、MaxConnIdleTime 等少数 clientOptions 的默认值是什么。

0 投票
1 回答
323 浏览

mongodb - Mongo go驱动的DocumentCount不支持$nearSphere

我正在研究地理位置查询,我想获得满足地理位置查询的集合总数。Mongo go 库提供 Document Count 方法,不支持基于地理位置的过滤器。

我得到的错误是: (BadValue) $geoNear, $near, and $nearSphere are not allowed in this context

0 投票
1 回答
881 浏览

mongodb - 如何使用连接池将我的 mgo 会话转换为 mongo-go-driver 客户端?

很久很久以前,当我们使用 mgo.v2 时,我们创建了一些包装函数来复制会话,设置读取首选项并将其返回以供其他库使用,例如

我们现在只需在 init 函数中传递默认客户端(使用 mongo.Connect 初始化并传递给连接单例),然后像这样使用:

我的理解是,要利用连接池,您需要使用相同的客户端(包含在 defaultConn 中),并且会话现在在.All()/cursor 拆卸内部隐式处理。如果我在这里错了,请纠正我。

如果我们仍然可以在这些连接上设置 readpref(例如,在返回之前在此连接上设置 NearestMode),那就太好了,但是社区/标准的做法是什么?

  • 我知道我可以一遍又一遍地给 mongo.Connect 打电话,但这很贵吗?
  • 我可以创建不同的客户端——每个客户端都有不同的 readpref——但我在想,如果在那个连接上发生了写操作,它就永远不会回到从从站读取。
  • 看起来我*可以显式创建会话,但我不确定我应该或者是否有任何关于在新驱动程序中显式管理这些会话的影响。
0 投票
1 回答
88 浏览

mongodb - 为什么在终端模式下找不到 IDE 插入的数据?

我试图通过 Goland IDE 在 MongoDB 中插入数据。虽然连接正确并且在 IDE 输出中我得到了 ObjectID,但我仍然无法直接从终端看到结果。似乎数据库记录了一个没有任何信息的新文档......

OSX,MongoDB 是默认设置。驱动程序是'go.mongodb.org/mongo-driver'并且连接正确。Goland 在 2019.2.2

这是插入部分,我按照mongodb.com上的指南进行操作

这是我在另一个终端查询的结果。除了第一个有一些内容外,其他三个是我尝试通过Goland 3次插入数据库的。

0 投票
1 回答
395 浏览

json - 为什么我从 mongodb 的 json 中的某些字段的值全为零?

我正在使用官方 mongodb-go-driver 从 Go Web 服务器中的 MongoDB 地图集获取我的数据。我正在使用 json.Marshal 转换为 json。但某些字段的所有值都变为零。

我的预期输出:

实际结果:

分钟、小时、日期、月份和年份的值是正确且不变的,但湿度、湿度和温度的所有值都变为零。

0 投票
2 回答
1259 浏览

mongodb - 如何使用 mongo-go-driver 模拟光标

我刚刚学习了 Go 语言,然后使用https://github.com/mongodb/mongo-go-driver使用 MongoDB 和 Golang 制作休息 API,然后我正在做一个单元测试,但是在模拟 Cursor 时我被卡住了MongoDB,因为 Cursor 是一个结构,是一个想法还是有人做出来的?