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

json - 如何在不嵌入的情况下将 JSON 解组添加到外部库类型

我搜索了一些类似的帖子,但是 Go JSON unmarshalling 是一个热门话题,在所有其他帖子中我看不到任何专门针对我的问题的内容。

有没有办法为现有类型添加/注册 JSON 解组逻辑——由外部库定义的类型?

例子:

有什么方法可以将primitive.DateTime对象的解组函数注册到 Go 的默认 JSON 解组器?我宁愿不嵌入primitive.DateTime到包装结构中。

0 投票
4 回答
16233 浏览

string - Primitive.ObjectID 到 Golang 中的字符串

我正在尝试将类型转换primitive.ObjectIDstringGo 中的类型。我正在使用mongo-driver来自go.mongodb.org/mongo-driver.

我尝试使用类型断言

哪个 VSCode 接受。代码被编译,当它到达这个特定的代码行时,它会抛出这个错误

0 投票
1 回答
1956 浏览

mongodb - mongo-go-driver:嵌套的 OR/AND 查询过滤器

我尝试使用嵌套运算符 (OR/AND/...) 创建一个 MongoDB 查询过滤器。但是 lib 需要创建 abson.D并将bson.E元素传递给它。如果我需要在OR/AND里面AND/OR- 我需要像这样放在bson.M + bson.D里面bson.D

..当然它不起作用:cannot use primitive.M literal (type primitive.M) as type primitive.E in slice literal. 如果稍后我尝试... in []在 a 中使用逻辑,可能会发生同样的问题bson.D

如何在 Go 和官方 MongoDB 驱动程序中创建这样的嵌套查询?

0 投票
2 回答
2318 浏览

mongodb - 使用 Golang mongo-driver 的 MongoDB 自动增量 ID

根据文档go.mongodb.org/mongo-driver当它更新未提供 ID 的文档时,似乎没有提供自动增加 ID 的方法。

在上面的代码示例中,ID 将默认为 int 的零值,即0,并将在 MongoDB 中持久化为{"_id":0,"foo":"test"}

当没有提供 ID 时,是否有一种自动递增 ID 的干净方法mongo-driver,而无需自己执行跟踪最后一个 ID 的逻辑?假设数据库中已经有 5 个文档,那么在{"_id":6,"foo":"test"}没有提供 ID 时运行上面的代码将持续存在。

0 投票
1 回答
1479 浏览

mongodb - Mongo Go 驱动程序 - 内联嵌入式结构不起作用

在使用 Golang Mongo Driver 时,我被这种奇怪的行为所困扰inline

似乎bson:",inline"不适用于Embedded Structs.

无法理解为什么会出现这种行为?

inline Inline the field, which must be a struct or a map, causing all of its fields or keys to be processed as if they were part of the outer struct. For maps, keys must not conflict with the bson keys of other struct fields.

但是如果我改变相同的代码

0 投票
2 回答
411 浏览

mongodb - SORT 在聚合函数中不起作用

我有这个代码到 Golang 中的 Mongo

我正在使用 Golang 和 MongoDB

这在联合、限制和跳过文档中工作正常,但 $sort 不起作用.. 我有发票但没有按“dateInvoice”排序

我很绝望..拜托

我的代码有什么问题?

问候

0 投票
2 回答
318 浏览

mongodb - mongodb 一次获取 10_000 行

我试图在 mongodb 中一次获取 10000 个文档,但我得到了:

信息 :

代码 :

我可以用 mongodb 和 go 驱动程序实现这一点吗?总是达到 30 秒超时

编辑 1

我尝试在python(使用pymongo)中只需要0m2.159s使用该过滤器查询36k doc

0 投票
1 回答
1362 浏览

mongodb - 在 mongoDB 中使用 golang 结构更新嵌套字段

我遇到了使用 golang mongo 驱动程序更新文档的问题。场景:我想更新嵌套在结构中的字段。例如:StructOuter -> structInner -> field1、field2、field3。现在,如果我想更新 field3 并且我有相应的值作为另一个结构,我怎么能通过单独更新这个字段来继续。我尝试使用下面的代码,但它更新了整个 structInner,只留下了 field3:

示例 JSON:

我想避免用于更新的硬编码字段查询。

只是想知道这是否受支持,如果是,您能帮我解决这个问题,并指出一些深入的链接。

0 投票
1 回答
1083 浏览

mongodb - Golang GraphQL MongoDB 努力从数据库中获取日期和 ID

我是 Golang 和 Graphql 的新手,所以我可能搞砸了很多配置,但我很难使用我创建的 GraphQL API 从我的数据库中获取返回值。每当我使用我在 Golang 中创建的 GraphQL API 查询我的数据库时,它都会抛出错误,无法将 UTC 日期时间解码为字符串类型,并且很难将 id 取出。

这是我的 GraphqhQL 架构:

这是我在提供查询时执行的代码:

我的查询和结果

这是我为在 MongoDB 数据库中进行测试而制作的示例数据集

此外,位置和个人资料统计信息也只是空无一物,我不知道为什么。很抱歉代码量很长,但我正在努力提供尽可能多的信息来帮助找到答案。希望这会有所帮助,并且我可以就如何解决此问题获得一些保证。感谢您提前提供的所有帮助。

编辑:在 userStats 类型中进行了一些测试后,我可以获得 firstName 和 lastName 但它失败并且光标在生日时由于数据错误而崩溃。这就是为什么生日下一切都是空的。所以问题是我如何解码 mongo 日期,以便我可以放入 userStates。我很想把所有东西都拉成 bson 并将其转换为正确的模型结构,但这似乎需要做很多额外的工作,我真的不想诉诸于此。

0 投票
1 回答
450 浏览

mongodb - golang mongo-go-driver 无法增加以前的 nil 值

我有这种查询要运行。当键不存在时,手动运行此查询返回 OK,upsertedCount = 1

我尝试将其转换为下面的 mongodb golang 版本

不幸的是,这个查询返回错误

为什么它不能工作?似乎驱动程序试图增加它而不将其发送到 mongo

编辑:

  1. 将模式大小写更改为 Upper,以遵循 go 代码
  2. 使用更简单的代码版本