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

mongodb - 监视 MongoDB 更改流

我们希望我们的 Go 应用程序能够监听集合上的数据变化。因此,在搜索解决方案时,我们遇到了 MongoDB 的Change Streams。该链接还展示了 Python、Java、Nodejs 等多种语言的一些实现片段。然而,没有 Go 的代码片段。

我们使用Mgo作为驱动程序,但找不到有关更改流的显式语句。

有没有人知道如何使用 Mgo 或任何其他用于 Go 的 Mongo 驱动程序观看 Change Streams?

0 投票
2 回答
8082 浏览

mongodb - 在 mongodb 记录中使用 time.Time

我在集合中插入新项目。为此使用官方 mongo go 驱动程序(https://github.com/mongodb/mongo-go-driver)。

但结果我遇到了几个属性的问题:time.Time 和 objectid.ObjectID。

  • time.Time 是空的对象
  • objectid.ObjectID - 作为二进制

在此处输入图像描述

我知道它仅处于 alpha 状态,但也许有人知道。我只是做错了,还是尚未按应有的方式实施?

0 投票
1 回答
16781 浏览

json - Mongo-go-driver 从插入结果中获取 objectID

使用InsertOne创建新文档后,当我返回结果时,我得到一个数字数组而不是ObjectID. 在数据库中,id 生成良好。

这会返回类似InsertedID: [90, 217, 85, 109, 184, 249, 162, 204, 249, 103, 214, 121]而不是正常的ObjectID. 如何ObjectID从新插入的文档中返回实际值?

0 投票
2 回答
2244 浏览

mongodb - 如何编码/解码 mongodb 游标?

我需要建立一个“页面”列表,所以其中一部分会有一个cursor。问题是我找不到编码(到字符串)和解码光标的方法。任何想法?Cursor接口没有“编码”方法(有 ID,虽然没有记录),也没有办法从字符串(或 int)创建新光标。

为什么我需要对光标进行编码?

通过 html 或 JSON API 向最终客户端提供分页。

0 投票
1 回答
85 浏览

mongodb - 如何使用 mongodb 官方驱动使用比较运算符构建查询?

我需要使用比较运算符构建查询,相当于db.inventory.find( { qty: { $gt: 20 }使用官方驱动程序。知道怎么做吗?

0 投票
1 回答
5792 浏览

mongo-go - 如何在官方 mongo-go-driver 中分页光标

检查 mongo-go-driver 中的接口 Cursor:

https://github.com/mongodb/mongo-go-driver/blob/master/mongo/cursor.go#L37

没有LimitSkip功能。

如何对结果进行分页?

我想我在尝试Sortor时会遇到同样的问题Count

有办法吗?或者,这根本还没有在官方驱动程序中实现?

0 投票
2 回答
3216 浏览

mongodb - mongo-go-driver 聚合调用总是返回错误

我正在尝试使用 mongo-go-driver (Golang 的 MongoDB 团队驱动程序)进行聚合,但我看不出我在这里做错了什么:

这是一个 mongodb 错误,但是如果我在 mongodb 本机客户端中执行此查询,我会得到结果并且不会发生错误。

0 投票
3 回答
16122 浏览

mongodb - 使用 mongodb go 驱动程序将文档解码为具有自定义类型字段的结构

我是 go 和 mongodb 的初学者。我尝试DocumentResult使用 bson 标签将 a 解码为结构,但它不适用于包装字符串的自定义类型。可以在不将字段类型更改为字符串的情况下完成吗?

打印结果:“42 答案”//“ABCD”缺失

提前致谢

0 投票
1 回答
1616 浏览

mongodb - 如何在 mongo-go-driver 中使用 ParseExtJSONArray() 解析聚合管道中的扩展 JSON 日期

我有一个带有日期字段的集合:

我正在尝试使用 mongo-go-driver 的 ParseExtJSONArray 函数在 $match 聚合阶段按日期查找。(我知道如何直接使用 *bson.Array 执行此操作。我在问,所以我知道使用 ParserExtJSONArray 执行此操作的正确方法,或者我是否遇到了限制。)

我已经简化了这个例子,并确认它与上面的文档不匹配。

以下在 mongo shell 中不起作用。(不足为奇,因为它会自动转换为 ISODate() 格式)

但这确实适用于 mongo shell。

但这会在“管道”中返回一个空数组。(因为 ParseExtJSONArray 不处理 JavaScript)

因为它随后使用了一个空数组,所以它会重新调整集合中的所有文档。有趣的是,日期在我们试图匹配的文档中的格式不同。

但这也不匹配。

这在 mongo shell 中不起作用。

有什么见解吗?

0 投票
2 回答
4399 浏览

mongodb - 如何在官方 MongoDB Go 驱动程序上查找和比较日期?

我是 mongodb-go-driver 的新手,我被卡住了。

我在结构中有一个日期,例如:

我的 mongoDB 上的日期和我的结构中映射的日期具有类似“02/10/2018 11:55:20”的值。

我想在我的数据库中找到日期在另一个日期之后的元素,我正在尝试这个,但响应始终为空。

我究竟做错了什么?