问题标签 [mgo]

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 回答
2803 浏览

go - Golang Mgo 起搏

我正在编写一个快速写入 mongodb 的应用程序。mongodb 和 mgo 处理速度太快。我的问题是,有没有办法让我确定 mongo 无法跟上并开始阻塞?但我也不想不必要地阻塞。这是一个模拟问题的代码示例:

我经常收到如下错误:

或者

0 投票
1 回答
1726 浏览

go - 如何构建 mgo 查询?

我正在用 revel 和 mgo 做一个小项目(练习),但是在构建查询时我的搜索功能出现了问题。代码看起来像这样:

我得到了一些错误信息:

我知道我做错了什么,但我不知道为什么,以及如何解决。任何人都可以帮助我吗?谢谢

0 投票
2 回答
7531 浏览

mongodb - 使用 mgo 将上传的文件存储在 MongoDB GridFS 中而不保存到内存

noob Golang 和 Sinatra 人在这里。我破解了一个 Sinatra 应用程序,以接受从 HTML 表单发布的上传文件,并通过 GridFS 将其保存到托管的 MongoDB 数据库中。这似乎工作正常。我正在使用 mgo 驱动程序在 Golang 中编写相同的应用程序。

从功能上讲,它工作正常。但是在我的 Golang 代码中,我将文件读入内存,然后使用 mgo 将文件从内存写入 MongoDB。这似乎比我的同等 Sinatra 应用程序慢得多。我觉得 Rack 和 Sinatra 之间的交互不会执行这个“中间”或“中间”步骤。

这是我的 Go 代码片段:

问题

  • 是否需要这个“临时”步骤(data, err := ioutil.ReadAll(file))?
  • 如果是这样,我可以更有效地执行此步骤吗?
  • 我应该考虑其他公认的做法或方法吗?

谢谢...

0 投票
1 回答
5297 浏览

go - 如何使用 golang mgo MongoDb 驱动程序获取最后插入的 ObjectId

我正在为 Golang 使用 mgo MongoDB 驱动程序。

ObjectId插入新对象后可以得到最后一个吗?

还是我应该_id手动创建bson.NewObjectId

0 投票
2 回答
11170 浏览

mongodb - mgo,mongodb:找到一个嵌入的文档并且是数组的一部分

2 部分问题。

1是mongodb查询本身,接下来是mgo中怎么做。

如何查询 1 个类别类型的文档(结果应该是类别类型),其中slug: "general"

我选择这个布局的原因是因为我读到 mongodb 的优势是嵌入“结构”的性能但是我担心我必须让“类别”和“论坛”成为自己的集合并重写很多代码,我想避免那是因为客户端的每个视图都需要访问这些模型,并且在每个新页面加载(对于类别和论坛)上都会导致 1-2 个额外的查询,并且使用 mongodb 的优势将消失。

接下来的问题是,我将如何更新或删除一个特定的嵌入文档?

有没有办法直接从 mongodb 获取类别文档,而无需分离文档或在 Go 中编写 find、update、delete 函数,以及如何?

这个结构:

或继续:

0 投票
1 回答
379 浏览

mongodb - 找出在 Go 中使用 mgo 插入对象的结果

我想问你是否有办法在使用collection插入新对象时找出插入是否成功。

使用单个操作插入(对象)。

我的意思是,我不想向数据库发送另一个查询以查明是否有记录。我需要一个原子操作(insert -> result (isSuccessful)- 伪代码)。

0 投票
1 回答
2993 浏览

mongodb - 即使不为空,Mgo 也会忽略字段

我想知道是否有任何方法可以让 stuct 字段即使不为空也不会提交给 mgo。

我发现这样做的唯一方法是将字段设为小写,这使得访问变得很痛苦。还有其他方法吗?

这是一个示例,我的目标是不将 SSN 提交到数据库中,但仍将其保留为大写。

谢谢,

0 投票
1 回答
1334 浏览

mongodb - Go/Mgo -> MongoDB 中的 []byte,不可寻址数组的切片

我得到一个:

reflect.Value.Slice:不可寻址数组的切片

当我尝试使用 mgo 将 sha256 哈希添加到 mongoDB 时出错。其他 [] 字节工作正常。

知道问题可能是什么吗?我知道我可以将哈希编码为字符串,但这不是必需的。

0 投票
1 回答
485 浏览

mongodb - 使用 mGo 导入备份集合

我有一个 BSON 导出mongodump,我也有一个 JSON 导出mongoexport

用mgo导入最简单的方法是什么?mgo 是否支持插入备份的 BSON 集合?

还是我需要使用 JSON 导出,解组它然后insert()使用 mgo?

事情是我不想在我的 Go 文件中指定一个方案 - 我只想将文件转储到数据库中。

0 投票
3 回答
7152 浏览

regex - mgo 正则表达式不起作用

现在我有一些文档,每个文档都有一个键path和值,例如\A\, \B\, \A\C\, \A\C\D\, \A\E\, \A\E\F\

我想找到只有 1 段的那些。这意味着结果应该是\A\and \B\。我使用 Regular Expression /^\\[^\\]*\\$/,它在 MongoDB 终端中运行良好。但是当我试图将它应用到 Go 程序时它不起作用。

去代码:

输出:

太奇怪了,然后我发现任何 Regex\\都会产生一个空的结果。

那么它是mgo的一个错误吗?

(我不知道这是否不合适,但我也在mgo.users 邮件列表上发布了这个问题。)