问题标签 [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 回答
391 浏览

mongodb - 无法安装最新版本的 mongo-go-driver (v1.2.1)

我无法为 mongo-go-driver 获得 v1.2.1。我正在使用 dep 来解决依赖关系。我的导入块看起来像 -

当我跑步时,dep ensure -v我得到以下输出

最后导入 v.0.0.1。请帮忙。

0 投票
1 回答
662 浏览

json - 有没有办法使用 Go 将 JSON 字符串转换为 Mongo 扩展 JSON?

我有一个包含一些字符串的示例 JSON 正文。我希望将一些字符串转换为 Mongo Extended JSON。例如传入的 JSON 正文如下:

我想把它转换成

有没有办法在 Go 中做到这一点,无论是通过像 mongo-go-driver 这样的包还是其他方法?

0 投票
1 回答
1407 浏览

mongodb - Go:如何对一段适用于 Mongo 集合的代码进行单元测试?

我正在使用Go的官方 Mongo 驱动程序。我的代码看起来像这样(为了使示例更简单,省略了错误处理):

问题:如何对GetUsers功能进行单元测试?

我浏览了驱动程序的文档,没有找到任何与测试相关的功能/最佳实践。

注意:完整代码可在GitHub上找到。

0 投票
1 回答
471 浏览

mongodb - 将动态结构传递给golang中的函数

我有几个结构、产品和类别。我在下面列出了 2 个函数,它们具有相同的逻辑,只是使用和返回的结构不同。无论如何我可以抽象出结构数据类型并在一个名为的函数中使用相同的逻辑GetObjects吗?

0 投票
1 回答
144 浏览

go - BSON 映射到数据库模型结构

努力找出正确的方法来做到这一点。现在我可以单独将 bson 映射转换为我的数据库模型结构。但现在我只是重复了很多相同的代码。那么有没有更好的方法来做到这一点?

代码示例:

如果您查看 BSONToAgent 和 BSONToForm 函数,它们几乎是相同的函数,只是返回的类型不同。BSONArrayToAgents 和 BSONArrayToForms 也是如此。现在我想在我的所有数据库模型上实现这些函数,以便轻松转换查询数据库时返回的原语.M(bson 映射)。

有一个更好的方法吗?也许使用接口?

0 投票
1 回答
410 浏览

mongodb - 元帅和元帅 BSON

TL;DR:MongoDB 驱动程序是否提供了编组和解组文档单个字段的功能?

这是一个非常简单的问题,但这里有一些上下文:

我有一个工作人员负责在 2 个独立的数据库之间同步数据。当它接收到事件消息时,表明某些文档必须同步,它会在主数据库中选择文档,并将其复制到另一个数据库中(这是一个完全不同的数据库,而不是副本集)。

问题是:我不知道该文档的完整结构,因此为了保留数据,我必须在 mapmap[string]interface{}或以bson.M相同方式工作的 a 中解组该文档。但这似乎有很多开销,要解组我什至不使用的所有这些数据,只是将其编组回另一个数据库。

所以我考虑创建一个只存储该文档的二进制值的结构,而不执行任何编组或解组以减少开销,如下所示:

使用这种结构,我确实可以减少要解析的数据量,但是现在,我需要手动解组本文档中我需要使用的一个值。

所以我想知道MongoDB驱动程序是否有一些功能,例如:

我怎样才能做到这一点?

0 投票
1 回答
89 浏览

mongodb - 我应该保留什么 setLimit(int64) 方法来显示集合中的所有记录

在 setLimit() 方法中,我应该保留什么来获取数据中的所有记录

包 - 使用:go.mongodb.org/mongo-driver/bson

go.mongodb.org/mongo-driver/mongo

go.mongodb.org/mongo-driver/mongo/options

0 投票
1 回答
265 浏览

mongodb - 使用 MongoDB 管理模式更改

生产后文档结构发生变化如何处理。

假设我有 500 个这样的文档:

稍后,如果我决定以以下格式添加所有文档:

cursor.All(&userDetails)在 Go 中使用 decode(deserialize) 来获取 struct 中的查询输出userDetails。如果我相应地修改其他文档的结构,userDetails前 500 个文档会失败吗?

如何处理这种变化?

0 投票
1 回答
1031 浏览

go - 将文档插入 mongodb,其中一个字段具有动态结构

我正在尝试使用 Go 插入 MongoDB,其中一个字段将具有动态数据。就我而言,它将通过 gRPC 来自其他服务,但我将示例简化为:

我得到一个错误:cannot transform type main.siteItem to a BSON Document: no encoder found for structpb.isValue_Kind

如果我使用string而不是*_struct.Value- 它工作得很好。但在我的情况下Data:,可能有来自 JSON 的任何价值。

0 投票
1 回答
1222 浏览

go - 将 ptypes/struct 值转换为 BSON

要求

两项服务:

  • 服务器- 用于向 MongoDB 写博客文章
  • 客户端- 向第一个服务发送请求

博客文章title的类型为string,并且content是动态类型 - 可以是任何 JSON 值。

原型缓冲区

让我们从 protobuf 消息开始,它满足要求 - stringfortitle和任何 JSON 值content

客户

客户端向服务器发送两个请求 - 一个content具有string类型,另一个具有object. 这里没有错误。

服务器

在这里我得到:

无法将 main.blogItem 类型转换为 BSON 文档:找不到 structpb.isValue_Kind 的编码器

我期待什么?要查看 MongoDB 中内容的确切值,如下所示:

我想我需要data.Content在添加的行中进行转换TODO:...

如果有帮助的话,我可以用这个例子创建 github repo。