问题标签 [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.
mongodb - mgo 和 mongodb 的 i/o 超时
我正在从 mgo 运行 map-reduce 作业。它运行在一个包含超过 350 万条记录的集合上。由于某些原因,我现在无法将其移植到聚合;可能会更晚。所以,map-reduce 是我所期待的。这项工作,当我从我创建的用于测试代码和输出的原始 js 文件中运行它时,运行良好。我尝试将 map 和 reduce 代码放在两个字符串中,然后尝试调用 mgo.MapReduce 为我执行 map-reduce,我将输出写入不同的集合中。它给了我
读取 tcp 127.0.0.1:27017: i/o 超时
不过,由于该作业已在后台被解雇,它仍在运行。现在根据这里的线程--- http://grokbase.com/t/gg/mgo-users/1396d9wyk3/io-timeout-in-statistics-generation-upsert
通过调用 session.SetSocketTimeout 很容易解决,但我不想这样做,因为此 map-reduce 将运行的文档总数会有所不同,因此我相信时间会有所不同。所以,我永远无法以我相信的方式解决问题。
我可能还有哪些其他方法?
请帮我
mongodb - 如何使用 mgo 从 golang 中的 mongodb 集合中选择所有记录
在 MongoDB 中执行类似db.mycollection.find()
返回集合中的所有文档的操作。
当使用包labix.org/v2/mgo在 GoLang 中工作时,我会这样做:
它抱怨它需要以界面的形式输入。我需要做的就是检索所有文档并遍历它们并暂时显示每个文档。我怎样才能达到这个效果?我见过的所有例子似乎都有过滤器。
mongodb - mongodb db中的解析错误,插入到具有唯一索引的集合中
我在 mongodb 中有一个集合,其中包含以下形式的文档:
其中“用户”和“电子邮件”字段是唯一的。我想在集合中插入一个新用户,同时检查两个值的唯一性。我可以像这样使用 mgo 在 golang 中插入:
如果我打印err
它输出insertDocument :: caused by :: 11000 E11000 duplicate key error index: kails.users.$name_1 dup key: { : "user1" }
有没有一种惯用的方法来使用这个错误来查找哪些值不是唯一的?,如果不是两个?(或者是否需要其他步骤?)。使用正则表达式解析字符串感觉......错误。
如果无法使用错误来查找是否不唯一,是否有任何替代“$ or”查询(检查唯一)+插入的方法?
我已经阅读了mgo 文档,希望我没有错过任何重要的内容。
go - Mgo 单 bson.M 结果无法正常工作
我正在构建资源 REST api,但在以下方面有问题
返回所有记录的 Find 方法像这样工作正常
单个结果不起作用,返回一个空结构:
我知道问题出在 var jsonR = bson.M{} 的某个地方,但它在 findall 中运行良好,知道我错过了什么吗?
mongodb - Golang mongodb mgo 驱动 Upsert / UpsertId 文档
如果参数仅包含更新运算符表达式,则 和 参数的字段和值。更新从参数中的等式子句创建一个基础文档,然后应用参数中的更新表达式。
mgo文档说:
upsert 找到与提供的选择器文档匹配的单个文档,并根据更新文档对其进行修改。如果没有找到与选择器匹配的文档,则将更新文档应用于选择器文档并将结果插入集合中。
但如果我做这样的更新:
我最终得到一个条目,它具有由 mongodb 自动生成的 ObjectID,而不是 data.Code。
这意味着 UpsertId 期望使用更新运算符格式化数据,并且您不能使用任意结构?或者我在这里缺少什么?
钯。Mongo 2.4.9 mgo v2 golang go版本开发+f613443bb13a
编辑:
这是我的意思的一个示例,使用 Neil Lunn 的示例代码:
go - 为 MongoDB 查找查询解析没有固定键集的字符串
我有一个 API,用户将在其中传递他们想要传递给 MongoDB 的查询参数。API 将从请求参数中获取字符串并将其直接传递给 Mongo 查找查询。查询字符串没有任何固定的键集。它可以具有以下结构之一 -
我如何解析这个字符串,以便我可以像这样直接使用 -
mongodb - Mgo拉更新不起作用
我正在尝试使用 Go 中的 mgo 库实现以下功能:
这基本上是对艺术家收藏的更新,我试图根据它的 id 字段从研究数组中删除一项研究。
所以在我使用:
但这似乎不起作用。如果我直接在 RoboMongo(mongodb 客户端实用程序)中运行第一个版本,它工作正常,但使用 mgo,它似乎不起作用。它给了我错误:“未找到”。
谢谢
编辑
修改了以下 go 代码,它仅在文件中工作:
mongodb - mgo:如何更新文档中的特定数组
我的数据库中有这个文档:
如果我知道仓库 ID,如何更新位置数组?这就是我现在拥有的
但是得到这个错误:
'location.$elemMatch' 中的美元 ($) 前缀字段 '$elemMatch' 对存储无效。
go - 为 MongoDB 上的 CRUD 操作组织 Go 代码
我正在用 Go 编写一个 Web 应用程序,但是在整理我的代码时遇到了一些麻烦。
对于 MongoDB 上的基本 CRUD 操作,我总是必须在我的代码开头做这样的事情:
但我不喜欢我总是必须重复相同的代码这一事实。
有没有办法让它更短或在我的代码中避免很多这种情况:
我是 Go 新手,所以也许我遗漏了一些明显的东西。
go - 元帅成 bson.Raw
使用gopkg.in/mgo.v2/bson
,我想知道如何将 interface{} 值编组为 type 的值bson.Raw
。
状态的文档bson.Raw
:
使用这种类型,可以部分地解组或编组值。
但我找不到会返回的 Marshal 函数bson.Raw
。
我错过了什么?
我尝试做的示例:
输出:
&{种类:2 数据:[12 0 0 0 72 101 108 108 111 32 119 111 114 108 100 0]}